【发布时间】:2012-09-05 16:14:35
【问题描述】:
所以,对于试图理解类的人来说,这更像是一个哲学问题。
大多数时候,我如何使用类实际上是一种非常糟糕的使用方式。我想到了很多函数,一段时间后只是缩进代码并使其成为一个类,如果一个变量重复很多,用 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)
你能建议哪个不好,哪个更差吗?
或任何其他方式来做到这一点。
这只是一个玩具示例(offcourse)。我的意思是,如果有一个函数,这里就不需要有一个类.. 但是让我们说 __execute something() 调用一整套其他方法.. ?? 谢谢
【问题讨论】:
-
为什么是
__execute而不是__call__?让类实例像函数一样可调用? -
@PierreGM:我刚刚发现了电话。谢谢。让我读一下:)
-
@BenBurns:我希望这个评论..然后我看到有一个“编码风格”的标签:)我希望不要在这里问很多这样的问题,而是在 quora 上;)
-
@PierreGM:我刚读到call。谢谢你的建议:)
标签: python oop class coding-style