我正在努力学习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()
答案
您收到此错误是因为您没有通过data
DHT 构造函数的变量。
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()