函数的不定长参数
程序员文章站
2022-04-09 13:50:58
# *args:位置参数,收集成元组 def func1(*args): print(args) for i in args: print(i) func1('python', 28, 'man', 'meiguo') # **kwargs :收集关键字参数,合并字典 def func2(**kwa... ......
# *args:位置参数,收集成元组 def func1(*args): print(args) for i in args: print(i) func1('python', 28, 'man', 'meiguo') # **kwargs :收集关键字参数,合并字典 def func2(**kwargs): print(kwargs) for key, value in kwargs.items(): print(key) print(value) func2(name='python', age=28, sex='man', weizhi='helan') def fun(a, b, *args, **kwargs): """可变参数演示示例""" print("a =%d" % a) print("b =%d" % b) print("args:") print(args) print("kwargs: ") for key, value in kwargs.items(): print("value=%s" % value) print("-fu-"*10) c = (3, 4, 5) d = {"m": 6, "n": 7, "p": 8} # 传入元组和字典时应该注意加*号,如果不加就当做普通的不定长参数处理 fun(1, 2, *c, **d) # 就算不定长形参也是元组,那么会变成给实参的这个元组变成不定长形参的第一个位置 fun(1, 2, c, d) # 生拉硬凑一个元组,加个逗号((),)这样。,字典,必须要加双* # 所以以后给不定长形参传入元组和字典一定记得*号 # 缺省参数在*args后面 print('-fun-'*10) def sum_nums_3(a, *args, b=22, c=33, **kwargs): print(a) print(b) print(c) print(args) print(kwargs) sum_nums_3(100, 200, 300, 400, 500, 600, 700, b=1, c=2, mm=800, nn=900) # 如果很多个值都是不定长参数,那么这种情况下,可以将缺省参数放到 *args的后面 # 但如果有**kwargs的话,**kwargs必须是最后的 # 加了星号(*)的变量args会存放所有未命名的变量参数,args为元组 # 而加**的变量kwargs会存放命名参数,即形如key=value的参数, kwargs为字典
推荐阅读
-
Python中type的构造函数参数含义说明
-
了解JavaScript函数中的默认参数
-
轻松学习JavaScript函数中的 Rest 参数
-
通过实例了解js函数中参数的传递
-
MSSQL报错:参数数据类型 text 对于 replace 函数的参数 1 无效的解决办法
-
学习9.内容# 1.函数初识 # 2.函数的定义 # 3.函数的调用 # 4.函数的返回值 # 5.函数的参数
-
python下函数参数的传递(参数带星号的说明)
-
Python def函数的定义、使用及参数传递实现代码
-
javascript,php获取函数参数对象的代码
-
PHP stristr() 函数(不区分大小写的字符串查找)