【发布时间】:2010-09-24 23:09:53
【问题描述】:
这个问题的答案似乎可以接受
什么是方法?
是
方法是属于类成员的函数。
我不同意这一点。
class Foo(object):
pass
def func():
pass
Foo.func = func
f = Foo()
print "fine so far"
try:
f.func()
except TypeError:
print "whoops! func must not be a method after all"
-
func是Foo的成员吗? -
func是Foo的方法吗?
我很清楚,如果 func 有 self 参数,这将起作用。这很明显。我感兴趣的是它是否是foo 的成员,以及它是否是method。
【问题讨论】:
-
而且正如我在其他 cmets 中所说的,你不能使用不运行的示例。
-
它运行良好,直到您尝试将
func视为一种方法。这就是示例的重点。 -
什么?你的代码没有意义。
func从来都不是一种方法,那为什么它应该是一种方法呢?它不是任何班级的成员,您在任何地方都没有说过f.func = func或类似的话,那么您期望会发生什么? func 不是 Foo 的成员。 func 不是 Foo 的方法。 -
@Blue Peppers。对不起,错字。我在边境时,一个醉汉对我说话。更正。引发这场辩论的原始版本没有那个错字。
标签: python