Python多值参数

当函数的参数个数不确定时

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
"""一个函数能够处理的参数个数不确定 这时使用多值参数"""
""" 参数名前面
一个* 存放元组参数 习惯命名 *args 是 arguments的缩写 有变量含义
两个* 存放字典参数 习惯命名 **kwargs 是 keyword的缩写 记忆键值对参数
"""

# 基础演练
print('基础演练 的结果为 ')


def demo(num, *args, **kwargs):
print(num)
print(args)
print(kwargs)


demo(1, 2, 4, 5, 6, 3, "ww", name="林昕", age="20")

print('')

# 累加 案例
print("累加案例 的结果为 ")


def sumNumber(*args):
sum = 0
for each in args:
sum += each
print(sum)


sumNumber(1, 9, 2, 8)

print('')

# 元组和字典的拆包

"""
在调用多值参数的函数时 如果希望
将一个元组变量 直接传递给 args 使用方法为 : 在元组变量前 增加一个*
将一个字典变量 直接传递给 kwargs 在字典变量前 增加两个*
"""

print("拆包演示 的结果为 ")


def unpacking(*args, **kwargs):
print(args)
print(kwargs)


gl_num = (1, 9, 2, 8)
gl_dict = {'name': '林昕', "age": '20'}
print("没有使用拆包时 它都放进了元组里")
unpacking(gl_num, gl_dict)
print('')
print("使用了拆包后 分开放了")
unpacking(*gl_num, **gl_dict)