如何将字典传递给python中的函数?

时间:2017-07-23 17:58:43

标签: python python-2.7 python-3.x

我试图将字典传递给python中的函数,但它显示错误。

class stud:
    def method(**arg):
        print(arg)

dict1 = {1:"abc",2:"xyz"}
a = stud()
a.method(dict1)

你能告诉我,我出错了还是将字典传递给函数的正确方法?

1 个答案:

答案 0 :(得分:1)

正如@Bit所提到的,如果method 不是静态方法。您需要添加self参数。

这里有两个选项:

  • 您在方法中使用普通参数
class stud:

    def method(self,arg):  # normal parameter
        print(arg)
  • 在通话中将字典作为命名参数传递
class stud:

    def method(self,**arg):  # normal parameter
        print(arg)

    a.method(**dict1)

我个人会选择第一个,因为它是:

  1. 更高效:您只传递对字典的引用;和
  2. 如果你想改变原始字典,那仍然是可能的。