参数:可以在函数调用的时候。 给函数传递一些信息
分类:
1.形参,在函数定义的时候,需要准备一些变量来接收信息
1. 位置参数,按照位置一个一个的去声明变量
2. 默认值参数,在函数声明的时候给变量一个默认值,如果实参不传递信息。此时默认值生效,否则就不生效
3. 动态传参。
1.*args, 表示接收所有的位置参数的动态传参
2. **kwargs, 表示接收的所有的关键字的动态传参
顺序*:位置 > *args > 默认值 > **kwargs
上述参数可以随意搭配使用
2.实参,实际在调用的时候传递的信息
1.位置参数。按照位置进行传递参数
2.关键字参数。按照参数的名字进行传递参数
3.混合参数。
顺序:位置参数放前面,关键字参数放后面 ->否则报错! 官方不让这么干
实参在执行的时候,必须要保障形参有数据
案例
stu_lst = ['流川枫', '樱木', '大老王', '隔壁二老王']
def func(*args):
print(args)
# func(stu_lst[0],stu_lst[1],stu_lst[2],stu_lst[3])
# item in stu_lst:
# print(item)
func(*stu_lst) # *在实参位置,是把列表打散成位置参数进行传递
# ** 在实参位置,可以把字典自动转化成关键字参数进行传递
返回值:函数执行之后, 会给调用方一个结果,这个结果就是返回值
关于return:
程序只要执行到了return,函数就会立即停止并返回内容,函数内的return的后续的代码不会执行
1. 如果函数内没有return ,此时外界收到的是 None
2.如果写了return
1. 如果写了return,后面不跟数据,此时接收到的依然是None -> 相当于break
2. return值 ,此时表示函数有一个返回值,外界能够收到一个数据 -> 用的最多的
3. return 值1 ,值2,值3.。。。。,此时函数有多个返回值,外界收到的是元组,并且,该元组内存放所有的返回值
# def func(a,b):
# # print(a+b3)
# return a + b
#
# ret = func(10,20)
# print(ret*3)
# def func():
# pass
# ret = func()
#
# print(ret)
# def func():
# print(123)
# return # 会让程序停止, 后续代码不会继续执行,有点儿像循环里面的break
# print(456)
#
# ret = func()
# print(ret)
def func():
return 1,2,3,4
ret =func()
print(ret)