我经常发现自己处于可以执行以下两种情况之一的情况:
class Foo:
def __init__(self):
self.a: str = ''
self.my_method()
def my_method(self):
self.a = ... # some magic that finds the actual value of a
或
class Foo:
def __init__(self):
self.a: str = self.my_method()
def my_method(self):
a = ... # some magic that finds the actual value of a
return a
问题:正确的设计选择是什么? (我觉得他们都不聪明!您有更好的主意吗?)
[Note:我认为将这个[[method转换为function(例如,将my_method
带到课堂之外)不是一个好主意,因为我相信从概念上来说属于该类。