需要多个键值对的python函数

时间:2018-08-01 08:45:10

标签: python

我想创建一个python函数,该函数将接受多个我提供的关键字值参数。我已经写了一些东西,但是没有按照我想要的方式工作。它只是打印第一个参数。创建此功能的最佳方法是什么?

def hello(**kwargs):
    _path_ = "%s == %s"
    for key, value in kwargs.iteritems():
        result = _path_ % (key, value)
    print (result)

hello(name1="one", name2="two")

2 个答案:

答案 0 :(得分:1)

仅打印一个结果,因为打印在for循环之外。因此,它只打印最后存储的kwarg。

改为执行以下操作:

def hello(**kwargs):
    _path_ = "%s == %s"
    for key, value in kwargs.items():
        result = _path_ % (key, value)
        print(result)

hello(name1="one", name2="two")

输出:

name1 == one
name2 == two

答案 1 :(得分:0)

print语句应该在for循环内,因为它每次都分配一个值,下一个值将改变,而不是classfunction

def hello(**kwargs):
    _path_ = "%s == %s"
    for key, value in kwargs.iteritems():
        result = _path_ % (key, value)
        print (result)

hello(name="2", lebron="3")

您还可以像这样用键,值对来写字典:

result = {}
for key, value in kwargs.items():
    result[key] = value
print (result)