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 variable. But it is giving me an error. It is saying:
missing 1 required positional argument
Here is my code:
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()
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()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With