大家好,我想使用来自类本身方法的计算所得的值作为其余类方法的方法,但它必须全部计算一次,我需要在类本身内部调用方法,我写一个例子:
class something():
def __init__():
pass
def __sum(self, variable_1, variable_2):
self.summation = sum(variable_1, variable_2)
# I need to calculate summation here once for all:
# how does the syntax look likes, which one of these are correct:
something.__sum(1, 2)
self.__sum(1, 2)
# If none of these are correct so what the correct form is?
# For example print calculated value here in this method:
def do_something_with_summation(self):
print(self.summation)
答案 0 :(得分:0)
您正在寻找这样的东西
class Something:
def __init__(self):
self.__sum(1, 2)
def __sum(self, variable_1, variable_2):
self.summation = sum(variable_1, variable_2)
并不是说这是理想的方法,但是您并没有给我们太多帮助。
通常,确保self
是所有类方法中的第一个参数,并且如果您是从另一个类方法中使用它,则可以随时使用self.method_name()
来调用该类方法。 instance.method_name()
(如果在外部使用(instance = Something()
))。
答案 1 :(得分:0)
假设在实例化类时,您将收到variable1
和variable2
,可能是:
class something():
def __init__(self, variable1, variable2):
self.summation = variable1 + variable2
def do_something_with_summation(self):
print(self.summation)
如果相反,您正在其他方法中创建variable1
和variable2
,则可以使它们成为类变量:
class Something():
def __init__(self):
#Put some initialization code here
def some_other_method(self):
self.variable1 = something
self.variable2 = something
def sum(self):
try:
self.summation = self.variable1 + self.variable2
except:
#Catch your exception here, for example in case some_other_method was not called yet
def do_something_with_summation(self):
print(self.summation)