我写了一堂课cl
:
class cl :
def __int__(self):
self.a = 0
def increment(self):
self.a +=1
def print_a(self):
print ("value : "+str(self.a))
我写了另外一节课test
。但是,调用方法时出现错误。
from cl import *
class test :
def __int__(self):
self.b = 0
self.c = cl()
def main(self):
self.c.increment()
self.c.print_a()
self.c.increment()
self.c.print_a()
d = test()
d.main()
我得到的是:
Traceback (most recent call last):
File "test_file.py", line 19, in <module>
d.main()
File "test_file.py", line 12, in main
self.c.increment()
AttributeError: test instance has no attribute 'c'
谁能解释为什么会这样,我的代码又出了什么问题?我是高中生。你能跟我解释一下吗?您能帮我解决这个问题吗?
你拼错__init__
有__int__
:
class cl :
def __int__(self):
self.a = 0
应该
class cl :
def __init__(self):
self.a = 0
请注意,在test
类内部包含main方法实际上是Python中的反模式。的形式
def main():
...
if __name__ == "__main__":
main()
是首选,并且更加Pythonic。
有关该if __name__ == "__main__"
模式的一些参考,请参见:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句