在参数面前加*号是啥意思或者有什么效果吗?
在定义函数的参数前面加个*是啥意思?或者是为了体现什么效果?好像print()里面也有些参数也是加了*的。。。 参考这个:https://fishc.com.cn/thread-153336-1-1.html 本帖最后由 jackz007 于 2021-3-22 23:44 编辑def myfun(* param , base = 3) # 参数 param 是一个可迭代对象,像这样,('A' , 'B' , 'C') 、'ABCD' 、 等等。
这一句
result *= base
是
result = result * base
的简写形式 参数前面加 * 表示可以传入多个参数,同属于param,为可迭代参数,能够转换成列表、元组等进行操作
如果参数前面加 ** 表示可以传入表达式,例如赋值操作a = 1体现在函数内则为字典形式{"a":1}
>>> def f1(*x):
print(x)
>>> f1("a","b")
('a', 'b')
>>> def f2(**y):
print(y)
>>> f2(a = "A")
{'a': 'A'}
>>>
页:
[1]