Python之如何判断是函数还是方法?

发布时间:2022-04-18 09:47:33 人气:34 作者:多测师

  看他的调用者是谁,如果是类,就需要传入一个参数self的值,这时他就是一个函数

  如果调用者是对象,就不需要给self传入参数值,这时他就是一个方法

  print(isinstance(obj.func, FunctionType)) # False

  print(isinstance(obj.func, MethodType)) # True

  class Foo(object):

  def __init__(self):

  self.name = 'lcg'

  def func(self):

  print(self.name)

  obj = Foo()

  print(obj.func) # >

Python之如何判断是函数还是方法?

  print(Foo.func) #

  # ------------------------FunctionType, MethodType------------#

  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

  # ------------------------------------------------------------#

  obj = Foo()

  Foo.func(obj) # lcg

  obj = Foo()

  obj.func() # lcg

  """

  注意:

  方法,无需传入self参数

  函数,必须手动传入self参数

  """

  以上内容为大家介绍了Python之如何判断是函数还是方法?,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/


返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线