使方法/实例的返回成为属性

时间:2016-07-20 05:47:46

标签: python class methods attributes

我有一个A()类包括一些方法:

class A(self):
    def __init__ (self, x1, x2):
        self.x1 = x1
        self.x2 = x2
    def plus(self):
        X3 = self.x1 + self.x2
        return X3

如何让X3成为我可以通过" self.X3"访问的属性。将它用于其他方法 我是新手,提前谢谢!

4 个答案:

答案 0 :(得分:2)

一种方法是通过预先X3简单地使self.成为属性。例如:

class A(self):
    def __init__ (self, x1, x2):
        self.x1 = x1
        self.x2 = x2
    def plus(self):
        self.X3 = self.x1 + self.x2
        return self.X3

我不确定它是最佳方法,但根据您的问题很难判断。

答案 1 :(得分:1)

只需将X3 =更改为:self.X3=

即可
class A(self):
    def __init__ (self, x1, x2):
        self.x1 = x1
        self.x2 = x2
    def plus(self):
        self.X3 = self.x1 + self.x2
        return self.X3

答案 2 :(得分:0)

class A:
    def __init__ (self, x1, x2):
        self.x1 = x1
        self.x2 = x2
    def plus(self):
        self.X3 = self.x1 + self.x2
        return self.X3

if __name__ == '__main__':
    a = A(1, 2)
    print a.plus()

试一试。当我在A级之后尝试添加(自我)时,我遇到了一些问题。

答案 3 :(得分:0)

对于此示例,使用property可能是最合适的。您可以阅读有关描述符协议的更多信息(其属性是语法糖)here

class A:
    def __init__ (self, x1, x2):
        self.x1 = x1
        self.x2 = x2
    @property
    def X3(self):
        return self.x1 + self.x2