这个问题似乎是一个可以接受的答案
什么是方法?
是
方法是一个类的成员的函数.
我不同意这一点.
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"
Run Code Online (Sandbox Code Playgroud)
func会员Foo吗?func一种方法Foo吗?我很清楚,如果func有一个self论点,这将有用.这很明显.我很感兴趣,如果它是一个成员,foo如果它是一个method呈现.
你只是测试错了:
>>> class Foo(object): pass
...
>>> def func(self): pass
...
>>> Foo.func = func
>>> f = Foo()
>>> f.func()
>>>
Run Code Online (Sandbox Code Playgroud)
你忘了有在错误def的self说法有绝对无关,与f.func"不是一种方法",当然.def外部class而不是内部的特殊自负(完全合法的Python当然,但正如我所说,特殊的)与案件无关:如果你忘记了第一个参数(通常命名self)def对于方法的陈述,你当然会在调用它们时遇到错误(当然TypeError,无论何时,只要调用中指定的实际参数与当前接受的形式参数不匹配,你就得到def了).
| 归档时间: |
|
| 查看次数: |
383 次 |
| 最近记录: |