繁体   English   中英

Python __init__不执行变量

[英]Python __init__ without executing a variable

我正在寻找一种方法来初始化一个类中的变量。 这个变量也依赖于我在同一类中初始化的其他变量。 这是一个例子。

Class class():
    def __init__()
        self.a = None
        self.b = None
        self.sum = self.a + self.b

    def change_a_and_b()
       self.a = input("a = ")
       self.b = input("b = ")

    def print_sum()
        print(self.sum)

这是一个简化的示例。 在我的程序中,self.sum是一个复杂的计算,我想像“快捷方式”一样使用,因此我不需要写很多次。 问题是我在init函数之后输入了变量。 我只是不想在执行__init__时执行self.sum = self.a + self.b 我认为有a do_thing参数,但我不知道如何使用它。

您可以将sum作为属性:

class my_class():
    def __init__(self)
        self.a = None
        self.b = None

    @property
    def sum(self):
        return self.a + self.b

    def change_a_and_b(self)
       self.a = input("a = ")
       self.b = input("b = ")

    def print_sum(self)
        print(self.sum)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM