python *args 与 **kwargs
2020-12-08 12:55
标签:传递 输出 本质 **kwargs nbsp mat value pytho test 描述: *args 和 **kwargs 主要用于函数定义。 你可以将不定数量的参数传递给一个函数。不定的意思是:预先并不知道, 函数使用者会传递多少个参数给你, 所以在这个场景下使用这两个关键字。其实并不是必须写成*args 和**kwargs。 *(星号)才是必须的. 你也可以写成*ar 和**k. 而写成*args 和**kwargs只是一个通俗的命名约定。 python函数传递参数的方式有两种: 如果同时使用*args和**kwargs时,必须*args参数列要在**kwargs前。 实例1: 实例2: 实例3: 实例4: python *args 与 **kwargs 标签:传递 输出 本质 **kwargs nbsp mat value pytho test 原文地址:https://www.cnblogs.com/helloTerry1987/p/10992209.html
1 def fun(*args,**kwargs):
2
3 print(‘args=‘, args)
4
5 print(‘kwargs=‘,kwargs)
6
7 fun(1,2,3,4,A=‘a‘,B=‘b‘,C=‘c‘,D=‘d‘)
8
9 #输出结果:
10
11 #args= (1, 2, 3, 4)
12
13 #kwargs= {‘A‘: ‘a‘, ‘B‘: ‘b‘, ‘C‘: ‘c‘, ‘D‘: ‘d‘}
1 def mutil(name,*ar):
2 print(name,"主人,你好")
3 for item in ar:
4 print("我的名字叫:",item)
5
6 mutil("liuhu","xiaoyun","liuwei")
7
8 输出结果:
9 # liuhu 主人,你好
10 # 我的名字叫: xiaoyun
11 # 我的名字叫: liuwei
1 def love(**kwargs):
2 for key,value in kwargs.items():
3 print("{0}爱着{1}".format(key,value))
4 love(name="liuhu",age=18)
5
6 #输出结果:
7 # name爱着liuhu
8 # age爱着18
1 def test(arg1, arg2, arg3):
2 print("arg1:", arg1)
3 print("arg2:", arg2)
4 print("arg3:", arg3)
5
6 args = ("two", 3, 5)
7 test(*args)
8 kwargs = {"arg3": 3, "arg2": "two", "arg1": 5}
9 test(**kwargs)
10
11 #输出结果:
12 # arg1: two
13 # arg2: 3
14 # arg3: 5
15
16 # arg1: 5
17 # arg2: two
18 # arg3: 3
文章标题:python *args 与 **kwargs
文章链接:http://soscw.com/index.php/essay/23499.html