python中函数和方法的区别

Posted 卍风衍

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中函数和方法的区别的主要内容,如果未能解决你的问题,请参考以下文章