多值参数
- 参数名前增加一个
*
可以接收元组 - 参数名前增加一个
**
可以接收字典,但是定义时应该用键值对
def demo(num,*args,**kwargs)
def demo(num,*nums,**person):
print(num)
print(nums)
print(person)
# demo(1)
demo(1,2,3,4,5,name = "小明",age = 18) # 字典应该用键值对定义
输出为
实战演练 – 求和
# 求和
def sum_numbers(*args):
num = 0
print(args)
# 循环遍历
for n in args:
num += n
return num
result = sum_numbers(1,2,3)
print(result)
输出为
拆包语法
- 将一个元组变量直接传递给
args
- 将一个字典变量直接传递给
kwargs
def demo(*args,**kwargs):
print(args)
print(kwargs)
# 元组和字典变量
gl_args = (1,2,3)
gl_kwargs = {"name" :"小明","age" : 18}
# demo(gl_args,gl_kwargs) 会将变量全部传递给元组
#拆包语法,简化元组变量/字典变量的传递
demo(*gl_args,**gl_kwargs)
# demo(1,2,3,name = "小明",age = 18) 在不使用拆包语法可以这样写,比较麻烦
输出为