如何调用包含带有输入函数数据的 kwargs 的函数?

how to call a function contains kwargs with input function data?

我有一个功能:

def myFunc(**kwargs):
    for username, password in kwargs.iteritems():
        print "%s = %s" % (username, password)

我想使用这样的输入接收用户名和密码:

username = input("Enter username : ")
password = input("Enter password : ")

然后将用户名和密码传递给 myFunc :

myFunc(username = password)

我知道这行不通,但处理这项工作的解决方案是什么?

注意:用户名和密码在每次迭代中都可能不同。

您需要使用 ** 语法将 dict 展开成其构成的 key/value 对。例如:

myFunc(**{username: password})

d = {}
d[username] = password
myFunc(**d)

如果它们存在,您可以从 kwargs 中读取它们:

def myFunc(**kwargs):
    print("username = " + kwargs["username"])
    print("password = " + kwargs["password"])

myFunc(username="jane", password="doe")