python - 在 python 中设计类的最佳方法

标签 python oop class coding-style

因此,对于试图理解类的人来说,这更像是一个哲学问题。

大多数时候,我使用类的方式实际上是一种非常糟糕的使用方式。我想到了很多功能,过了一段时间后,只需缩进代码并使其成为一个类,如果一个变量重复了很多,就用 self.variable 替换一些东西。 (我知道它的坏习惯) 但无论如何......我要问的是:

 class FooBar:
       def __init__(self,foo,bar):
           self._foo = foo
           self._bar = bar
           self.ans = self.__execute()

       def __execute(self):
            return something(self._foo, self._bar)

现在有很多方法可以做到这一点:

   class FooBar:
         def __init__(self,foo):
           self._foo = foo


       def execute(self,bar):
            return something(self._foo, bar)

你能指出哪个不好,哪个更差吗?

或任何其他方式来做到这一点。

这只是一个玩具示例(当然)。我的意思是,如果有一个函数就不需要在这里有一个类..但是可以说在 __execute something() 中调用了一整套其他方法.. ?? 谢谢

最佳答案

如果每个 FooBar 都对 bar 负责,那么第一个是正确的。如果只有 execute() 需要 bar 而不是 FooBar 的问题,则第二个是正确的。

关于python - 在 python 中设计类的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12391621/

相关文章:

php - OOP选择数据mysql

objective-c - 如何创建指向结构的指针并对其进行类型转换?

macos - 为什么访问D类成员在OSX上崩溃?

c++ - 不能将变量声明为类型,因为以下虚函数是抽象的

python - 标准的 Python 实现被视为编程语言还是脚本语言?

python - 查找具有指定文本的元素旁边的元素

python - 是否可以将字符串方法视为函数?

python - 从多个进程将数据添加到队列

c++ - OOP:派生子类中数据库连接的正确类设计?

C++ 类变量不会保留从另一个类传递的二维对象数组的值