python函数与方法的区别是什么

Python中函数和方法的区别

1、函数要手动传self,方法不用传self。

2、如果是一个函数,用类名去调用,如果是一个方法,用对象去调用。

举例说明:

class Foo(object):
    def __init__(self):
        self.name="haiyan"
    def func(self):
        print(self.name)
obj = Foo()
obj.func()
Foo.func(obj)

判断函数和方法的方式

from types import FunctionType,MethodType
obj = Foo()
print(isinstance(obj.func,FunctionType))  #False
print(isinstance(obj.func,MethodType))   #True   #说明这是一个方法
print(isinstance(Foo.func,FunctionType))  #True   #说明这是一个函数。
print(isinstance(Foo.func,MethodType))    #False

云海天教程网,免费的在线学习python平台,欢迎关注!

来源:PY学习网:原文地址:https://www.py.cn/article.html