『Python』*args 和 **kwargs

72 阅读1分钟

*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