用类方法更新类字段的正确方法是什么?

问题描述 投票:-2回答:1

我经常发现自己处于可以执行以下两种情况之一的情况:

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带到课堂之外)不是一个好主意,因为我相信从概念上来说属于该类。

python
1个回答
-1
投票
这并不重要,这完全取决于您。但是,如果是我,我将使用选项2。除非有必要,否则手动编辑实例变量通常不是一个好主意。另外,通过简单地返回该值,可以使该函数更可重用,以防将来将来再次使用它。但是最后,这完全取决于您。
© www.soinside.com 2019 - 2024. All rights reserved.