*args
和 **kwargs
*args
:参数作为一个元组进行输入
**kwargs
:参数作为一个字典进行输入
*args
举例:
class Jarvis:
@staticmethod
def say_hi(*name):
for i in name:
print("Good evening, " + i + ". How are you?")
if __name__ == '__main__':
Jarvis = Jarvis()
Jarvis.say_hi("Tony Stark")
Jarvis.say_hi("Tony Stark", "Captain America")
输出:
Good evening, Tony Stark. How are you?
Good evening, Tony Stark. How are you?
Good evening, Captain America. How are you?
**kwargs
举例1:
class Jarvis:
@staticmethod
def say_hi(**name):
for kw in name:
print("Good evening, " + name[kw] + ". How are you?")
if __name__ == '__main__':
Jarvis = Jarvis()
Jarvis.say_hi(name="Tony Stark")
Jarvis.say_hi(fistname="Tony Stark", secondname="Captain America")
输出:
Good evening, Tony Stark. How are you?
Good evening, Tony Stark. How are you?
Good evening, Captain America. How are you?
**kwargs
举例2:
def foo(a, b, c):
print(a, b, c)
obj = {'b': 10, 'c': 'lee'}
if __name__ == '__main__':
foo(100, **obj)
输出:
100 10 lee