我正在努力学习Python。

缺少 1 个必需的位置参数

这是我的代码:

class DHT:
    def __init__(self, data):
        self.data['one'] = '1'
        self.data['two'] = '2'
        self.data['three'] = '3'
    def showData(self):
        print(self.data)

if __name__ == '__main__': DHT().showData()

答案

您收到此错误是因为您没有通过dataDHT 构造函数的变量。

aIKid 和 Alexander 的答案很好,但它不起作用,因为你仍然需要初始化self.data在类构造函数中像这样:

class DHT:
   def __init__(self, data=None):
      if data is None:
         data = {}
      else:
         self.data = data
      self.data['one'] = '1'
      self.data['two'] = '2'
      self.data['three'] = '3'
   def showData(self):
      print(self.data)

然后像这样调用 showData 方法:

DHT().showData()

或者像这样:

DHT({'six':6,'seven':'7'}).showData()

或者像这样:

# Build the class first
dht = DHT({'six':6,'seven':'7'})
# The call whatever method you want (In our case only 1 method available)
dht.showData()

来自: stackoverflow.com