我们在阅读英文资料时,可能经常会遇到method和function这两个单词,还可能经常以为两个是一样的。
这次在读python的说明文档时,这两个词出现的频率挺高,所以我就查了以下它们的区别。
method是依赖与一个对象的,function是独立与对象的。
在c中,只有function;
在c++中,既有method也有function,一个函数的称呼取决于它是否是一个类的对象,同理,python也是,php也是。
在java中,只有method,因为它是一门纯面向对象的语言。
下面是一段 python的代码:
def function(data):
return data;
class A:
str1 = "I'm a method in class"
def method(self):
return self.str1
str2 = "I'm a function"
print(function(str2))
a = A()
print(a.method())
从上面中可以看出来两者之间的差别:
1 function是直接通过名字来调用的,它只能被传递参数来处理或者使用全局变量。
2 method 是通过与一个对象相关联的名字来调用的,它既可以被传递参数也可以,使用对象内部的数据。
method 隐式的被传递了调用它的对象。
明白了两者之间的区别后,我们在阅读英文文献时还是有帮助的。
上面的资料来自 here