在实例化类之前,Python类内部定义的方法的正确术语是什么?
使用以下示例: 根据这些文档,f是返回函数对象的属性引用 有没有更简短的方式来表达f是什么?我能称之为类的方法吗(注意我怎么没有说“类方法”,这是不正确的)?还是类中定义的函数?还是实例方法在实例化类之前,Python类内部定义的方法的正确术语是什么?,python,oop,class,function,terminology,Python,Oop,Class,Function,Terminology,使用以下示例: 根据这些文档,f是返回函数对象的属性引用 有没有更简短的方式来表达f是什么?我能称之为类的方法吗(注意我怎么没有说“类方法”,这是不正确的)?还是类中定义的函数?还是实例方法 换句话说,就其与MyClass的关系而言,f的正式缩写是什么?如果您特别指的是由MyClass.f返回的f,那么f是MyClass的未绑定方法。或者至少REPL是这么称呼它的: >>> MyClass.f <unbound method MyClass.f> >>MyClas
换句话说,就其与MyClass的关系而言,f的正式缩写是什么?如果您特别指的是由
MyClass.f
返回的f
,那么f
是MyClass的未绑定方法。或者至少REPL是这么称呼它的:
>>> MyClass.f
<unbound method MyClass.f>
>>MyClass.f
但总的来说,我不认为有人会责怪你简单地称它为“方法”,简单明了。或者,就其与MyClass的关系而言,是MyClass的一种方法 我会说它是一个实例方法(或成员函数),因为只有当您将它与一个实例绑定时,这个方法才是可访问的,
instance.f()
或MyClass.f(instance)
或者可能是一个“MyClass方法”——在任何情况下,人们都会说“string方法”或“list方法”始终。您不必定义\uuuu init\uuuu
。原始问题中的类定义已足够。
>>> MyClass.f
<unbound method MyClass.f>
x = MyClass()
def __init__(self):
self.data = []
print x.i
print x.f()
print MyClass.__doc__
# Instance x = MyClass()
# More __init__(self) is important
# Sorry my english. I'm from Brazl