动态参数分为两种:动态接受位置参数 *args,动态接收关键字参数**kwargs.
*args:为元组类型
**kwargs:为字典类型
局部作用域对全局作用域的变量(此变量只能是不可变的数据类型)只能进行引用,而不能进行改变,只要改变就会报错
所以global关键字有两个作用:
1,声明一个全局变量。
2,在局部作用域想要对全局作用域的全局变量进行修改时,需要用到 global(限于字符串,数字)。
案例如下:
# def func():
# global a
# a = 3
# func()
# print(a)
按位置传参:
按关键字传参:
关键字,位置混参:
正确用法:
问题一:位置参数必须在关键字参数的前面
问题二:对于一个形参只能赋值一次
默认参数:(当函数传入参数时,使用传入的参数,当函数没有传入参数时,使用默认值)
def stu_info(name,sex="male"):
print(name,sex)
stu_info('alex')
stu_info('alex','女')
动态参数:
按位置传值多余的参数都由args统一接收,保存成一个元组的形式
案例如下:
def mysum(*args):
the_sum = 0
for i in args:
the_sum+=i
return the_sum
the_sum = mysum(1,2,3,4)
print(the_sum)
一篇文章看懂,函数参数:
https://www.cnblogs.com/Eva-J/articles/7125925.html#_labelTop