Python 显示所有传入的关键字参数,而不管键是什么

Python 显示所有传入的关键字参数,而不管键是什么,python,keyword-argument,Python,Keyword Argument,嗨- Python新手,正在尝试使用Python 3.1进行一些练习。。 我能够编写一个函数,将LastName、Country作为参数,并使用**kwargs来显示传递给state、salary、taxrate等的值 然而,作为后续工作,我尝试显示关键字参数,而不考虑键-这就是我遇到的问题 只查找要显示的关键字参数,而不是传入的值 def myfunction(LastName, Country,**kwargs): print('Name:',LastName) print(

嗨- Python新手,正在尝试使用Python 3.1进行一些练习。。 我能够编写一个函数,将LastName、Country作为参数,并使用**kwargs来显示传递给state、salary、taxrate等的值

然而,作为后续工作,我尝试显示关键字参数,而不考虑键-这就是我遇到的问题

只查找要显示的关键字参数,而不是传入的值

def myfunction(LastName, Country,**kwargs):
    print('Name:',LastName)
    print(Country)
    result = ""
    for arg in kwargs:
        result = arg
    return result
def main():
    myfunction('Smith','USA',state="NV",salary="55k",taxrate='2.00')
if __name__ == '__main__':
    main()
我正在寻找这样的输出:

Smith
USA
State   
Salary
Taxrate

就所有意图和目的而言,kwargs是一个dict。您可以这样对待它:

def myfunction(last_name, country, **kwargs):
    print('name =', last_name)
    print('country =', country)
    for key, value in kwargs.items():
        print(key, '=', value)

如果我对您的问题的解释正确,您可以尝试以下代码:

# Returns a list in your desired format
def func(lastName, country, **kwargs):
    ret = [lastName, country]
    for key in kwargs:
        ret.append(key.capitalize())

    return ret

# Print
for i in func("", "", ...):
    print(i)
它基本上会创建一个基本列表,然后在其中附加kwargs键。正如您所看到的,kwargs是一个dict,可以用作dict


提醒:您应该升级到最新版本的Python 3.8.1,可以下载。

旁白:Python 3.1非常旧:。考虑升级,谢谢!这很有魅力。为了澄清,我在PyCharm中使用了2019 3.1。那算是过时了吗?如果是这样,我将寻找升级。Python3.8是最新的版本。请注意,PyCharm与Python不同-PyCharm只是一个程序,它可以让您在Python中编写代码的体验更加愉快。谢谢!我也试过这个版本。为了澄清,我在PyCharm中使用了2019 3.1。那算是过时了吗?如果是这样,我将寻找升级。PyCharm只是您编写代码的IDE。是的,3.1已经过时,我建议更新。哦,请接受对您帮助最大的答案:PS:我编辑了我的代码,以便它返回一个列表,您可以打印或使用它
# Returns a list in your desired format
def func(lastName, country, **kwargs):
    ret = [lastName, country]
    for key in kwargs:
        ret.append(key.capitalize())

    return ret

# Print
for i in func("", "", ...):
    print(i)