在我的代码中有困难理解的问题,新的类(通常也python,所以抱歉,如果我命名错误)。我收到这个错误:
我认为我的代码太冗长了,不能包含在这里,所以我做了一个简化的版本来测试下面的概念。
问题是,我如何创建一个新的self对象“self4”?然后这个对象可以被类中的其他函数使用。
属性错误:“className”对象没有属性“self4”
class className(object):
def __init__(self, self1=1,self2=2,self3=3):
self.self1=self1
self.self2=self2
self.self3=self3
def evaluate(self, self5):
print className.func1(self) + className.func2(self)
self.self5=self5
print className.func1(self)
def func1(self):
return self.self1 + self.self5
def func2(self):
self.self4 = self.self1+self.self2+self.self3
return self.self4
文件名tester.py
import tester.py
mst=tester.className()
mst.evaluate()
4条答案
按热度按时间au9on6nz1#
编辑:
您的代码工作正常!
问题是什么?
我仍然认为最好将
self4
移到init中!原件
我认为最合乎逻辑的做法是在init上定义
self4
:svmlkihl2#
如果任何人仍有此问题:当你的缩进出错时,你会得到这个错误。要解决上面的问题,你只需要在最后两个函数定义前加一个空格,即;
只要确保它们都有类似缩进,就可以开始了。
eimct9ow3#
应该在方法中传递
self4
。xzv2uavs4#
如果其他人遇到此错误,并且它不是缩进问题,则如果您不小心将类型注解的值改为
;
而不是:
,也会发生此错误: