究竟是什么*args和**kwargs意味着什么呢?
根据Python文档,从它看来,它传递了一个参数元组.
def foo(hello, *args):
print hello
for each in args:
print each
if __name__ == '__main__':
foo("LOVE", ["lol", "lololol"])
Run Code Online (Sandbox Code Playgroud)
打印出:
LOVE
['lol', 'lololol']
Run Code Online (Sandbox Code Playgroud)
你如何有效地使用它们?
类(人)需要3个名为"name,middle_name和surname"的参数,我试图给出这些参数如下:
def argument():
name = input("name : ")
middle_name = input("middle name : ")
last_name = input("last name : ")
return name,middle_name,last_name
person = people(argument())
Run Code Online (Sandbox Code Playgroud)
但不知何故它不起作用,我得到的错误信息:
TypeError: __init__() missing 2 required positional arguments
Run Code Online (Sandbox Code Playgroud)