Python中函数和方法的区别

Posted Magic_chao不负青春

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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中函数和方法的区别的主要内容,如果未能解决你的问题,请参考以下文章

python中函数和方法的区别

Python snippet(代码片段)

常用python日期日志获取内容循环的代码片段

ios block和delegate的区别

python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法

在 Python 多处理进程中运行较慢的 OpenCV 代码片段