Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在实例化类之前,Python类内部定义的方法的正确术语是什么?_Python_Oop_Class_Function_Terminology - Fatal编程技术网

在实例化类之前,Python类内部定义的方法的正确术语是什么?

在实例化类之前,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

使用以下示例:

根据这些文档,f是返回函数对象的属性引用

有没有更简短的方式来表达f是什么?我能称之为类的方法吗(注意我怎么没有说“类方法”,这是不正确的)?还是类中定义的函数?还是实例方法


换句话说,就其与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