Я пытался поискать, но не нашел ответа.
это мой код -
class abcd():
def __init__(self):
pass
def call_from_method_1(self):
self.a = "value of variable a"
self.b = 'value of variable b'
print(self.a + ',', self.b)
def call_from_method_2(self):
self.c = 'var c'
self.d = 'var d'
def call_specific_variable_from_each_method(self):
return abcd().call_from_method_1() # in this line how do I call just the variable b
return abcd().call_from_method_2() # and in this line call just d
if True:
abcd().call_specific_variable_from_each_method() #so I could print them both in this line
Мне нужно вызвать ТОЛЬКО переменную b из def call_from_method_1(self):
и ТОЛЬКО переменную d из def call_from_method_2(self):
и вызовите их в def call_specific_variable_from_each_method(self):
. Я также должен сохранить оба метода нетронутыми, если это возможно, поэтому, если я создам экземпляры методов, он также распечатает print(self.a + ',', self.b)
из call_from_method_1(self):
, что нежелательно.
Как уже упоминалось, оба метода должны быть неповрежденными и по-прежнему печатать только специфицированная c переменная из любого метода вне класса без необходимости полностью запускать оба метода, создавая их экземпляры.
Также в качестве бонуса, как использовать оператор if в понимании списка, чтобы окончательно вызвать класс? поэтому я попробовал abcd().call_specific_variable_from_each_method() if True
, но не работает. Есть идеи?
Это действительно поможет, если решение не является обходным путем. Но я открыт для любых решений.