Python类(AttributeError:';';对象没有属性';';)

Python类(AttributeError:';';对象没有属性';';),python,class,object,instance,Python,Class,Object,Instance,在理解代码中的问题时遇到困难,对类来说是新手(通常也是python,如果我命名错误,那么很抱歉)。我收到这个错误: 我认为我的代码太冗长,无法包含在这里,所以我制作了一个简化版本来测试下面的概念 问题是,如何创建新的self对象“self4”?这样,类中的其他函数就可以使用它了。目前我得到这个错误 AttributeError:“className”对象没有属性“self4” 文件名tester.py import tester.py mst=tester.className() mst.e

在理解代码中的问题时遇到困难,对类来说是新手(通常也是python,如果我命名错误,那么很抱歉)。我收到这个错误:

我认为我的代码太冗长,无法包含在这里,所以我制作了一个简化版本来测试下面的概念

问题是,如何创建新的self对象“self4”?这样,类中的其他函数就可以使用它了。目前我得到这个错误

AttributeError:“className”对象没有属性“self4”

文件名
tester.py

import tester.py

mst=tester.className()

mst.evaluate()

您应该在方法中传递self4。

编辑:
你的代码运行良好
有什么问题

我仍然认为最好将
self4
移动到init

原创
我认为最合理的做法是在init上定义
self4

class className(object):
    def __init__(self, self1=1, self2=2, self3=3):
        self.self1 = self1
        self.self2 = self2
        self.self3 = self3
        self.self4 = None

   #rest of class

如果有人仍然有这个问题:当缩进出错时会出现这个错误; 类名称(对象):


只要确保它们都有相似的缩进,就可以了。

为什么不在
\uuuu init\uuuu
中调用
self.func2()
?我已经添加了如何调用此代码。我希望能够在不同的条件下调用evaluate,例如self1=4和self1=3。我刚刚运行了你问题中的代码,它工作正常……它打印7 6。这个问题是无效的…事实上,它是有效的,现在就尝试一下。所以基本上没有错误,所以没有问题?!
class className(object):
    def __init__(self, self1=1, self2=2, self3=3):
        self.self1 = self1
        self.self2 = self2
        self.self3 = self3
        self.self4 = None

   #rest of class
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