__init__() missing 1 required positional argument

前端 未结 6 1662
死守一世寂寞
死守一世寂寞 2020-12-06 09:35

I am trying to learn Python. This is a really simple code. All I am trying to do here is to call a class\'s constructor. Initialize some variables there and print that varia

6条回答
  •  佛祖请我去吃肉
    2020-12-06 10:12

    You're receiving this error because you did not pass a data variable to the DHT constructor.

    aIKid and Alexander's answers are nice but it wont work because you still have to initialize self.data in the class constructor like this:

    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)
    

    And then calling the method showData like this:

    DHT().showData()
    

    Or like this:

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

    or like this:

    # 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()
    

提交回复
热议问题