函数的返回值 函数的类型 函数的参数 利用函数对注册登录代码进行封装(作业) 常见的内置函数
今日内容的概要
函数的返回值
函数的类型
函数的参数
常见的内置函数
详细内容
关于函数这方面的小补充
1.定义与调用 定义函数目前用def这个关键字 调用函数用函数名加上括号(如果函数需要参数的的话就在函数体代码当中给他需要的参数) 2.定义阶段 函数在定义的阶段只检测函数体代码的语法而不运行函数的本身 3.调用阶段 函数名加上括号可以调用函数这时候函数代码才会运行
函数的返回值
index() 返回值就是执行完一个东西其返还回来的结果 通过变量名与赋值符号来获取返回值(变量名=方法/函数())
1.当函数体没有return的时候默认返回的就是none

2.return关键字后面跟啥就返回啥
3.return后面跟了很多个值,那么将默认变成元组的形式返回
4.函数体代码遇到return立马就结束函数的运行
函数的类型
1.无参数函数:函数在定义阶段没有参数也不需要参数 def index(): print('from index') index()
2.有参参数:函数在定义阶段括号内写了变量名就是需要参数的时候 def index(x): print('from index', x) index(1)
3.空函数(没有写函数体代码的函数) def index(): pass
函数的参数
1.位置参数 按照位置对应着一个一个传输值上去,数量要刚刚好 def index(x, y): print(x, y)
多了不行,少了不行,没有也不行

2.关键字参数:给指定的形参传输值,可以无视位置限制
3.默认参数:函数在定义额阶段就给形参赋值了
def register(name, age, gender='male'):
# print(name, age, gender)
# 默认参数不给值的情况下就使用默认的 给了就使用给了的
# register('jason', 18)
# register('tony', 28)
# register('kevin', 38)
# register('huahua', 18, 'female')
4.可变长参数
函数如何做到无论接收多少个位置参数都可以正常运行
*在形参中使用
会接收多余的位置参数组织成元组的形式赋值给*后面的变量名
函数如何做到无论接收多少个关键字参数都可以正常运行
**在形参中使用
会接收多余的关键字参数组织成字典的形式赋值给**后面的变量名
怎么样让一个函数无论接收多少位置参数和关键字参数都能运行
在两个形参ab的前面分别用*和**
针对可变长参数推荐使用公版的样式
def index(*args **kwargs):
刚刚讲的是在形参中的使用
现在是在实参中的使用
l = [11, 22, 33, 44, 55] d = {'username': 'jason', 'pwd': 123, 'hobby': 'read'} def func(*args, **kwargs): print(args, kwargs) *在实参中使用 会将列表/元组内的元素打散成一个个位置参数传递给函数 func(*l) # func(11,22,33,44,55)
**在实参中使用 会将字典内的元素打散成一个个关键字参数传递给函数 """ func(**d) # func(username='jason',pwd=123,hobby='read')