基本函数只能所传的变量参数有限,如果想传任意个就需要使用函数动态参数
动态参数分两种:
*代表多个,
动态参数有一个*和两个*
1.一个 * 默认将传入的参数全部放置在元组中(按照顺序传值)
def f1(*args): print(args,type(args))f1(11,22,33,‘abc‘,‘def‘) #传任意多个参数输出结果:(11, 22, 33, ‘abc‘, ‘def‘) <class ‘tuple‘> #显示的类型是元组动态参数还可以将列表添加输出为元组
def f1(*args): print(args,type(args))f1(11,22,33,‘abc‘,‘def‘)li=[‘zhangsan‘,‘lisi‘,‘wanbwu‘]f1(li,1,2,3)输出结果:
(11, 22, 33, ‘abc‘, ‘def‘) <class ‘tuple‘>
([‘zhangsan‘, ‘lisi‘, ‘wanbwu‘], 1, 2, 3) <class ‘tuple‘>
2.**默认将传入的参数全部放置在字典中(对应key-value)
def f1(**kwargs): print(kwargs,type(kwargs))f1(k1=‘22‘,k2=‘45‘)输出结果:{‘k1‘: ‘22‘, ‘k2‘: ‘45‘} <class ‘dict‘>
动态参数除了上面的两种情况还有一种叫万能参数
万能参数*args,**kwargs(默认都用这个)一个*在前
def f2(*args,**kwargs): print(args) print(kwargs)f2(11,22,33,44,k1=‘v1‘,k2=‘v2‘)输出结果:
(11, 22, 33, 44)
{‘k2‘: ‘v2‘, ‘k1‘: ‘v1‘}
时间: 2024-12-06 00:35:21