python方法类函数 python中方法( 三 )


那么方法的意思就很明确python方法类函数了,它是与某个对象相互关联的 , 也就是说它的实现与某个对象有关联关系 。这就是方法 。虽然它的定义方式和函数是一样的 。也就是说,在Class定义的函数就是方法 。
从上面的角度看似乎很有道理 。
def fun():
pass
type(fun)
class 'function' #没有问题
class Cla():
def fun():
pass
@classmethod
def fun1(cls):
pass
@staticmethod
def fun2():
pass
i=Cla()
Cla.fun.__class__
class 'function' #为什么还是函数
i.fun.__class__ #这个还像话
class 'method'
type(Cla.fun1)
class 'method' #这里又是方法
type(i.fun1)
class 'method'#这里仍然是方法
type(Cla.fun2)
class 'function'?。U饫锶词呛?
type(i.fun2)
class 'function'#这里却是函数
事实上 , 上面的结果是可以解释的:
1,普通方法(老版中直接就是"instancemethod")在module中与在Class中定义的普通函数,从其本身而言是没有什么区别的,他们都是对象函数属性 。之所以会被说在Class中的定义的函数被称为方法 , 是因为它本来就是面向将来的实例对象的,其实他们就是实例方法,这些方法是与实例相联系的(从实例出发访问该函数会自动赋值) 。所以你从Class访问仍然是一个函数
2,类方法("classmethod"),因为类同样是对象,所以如果函数与类进行联系了话(与实例方法一样的模式)那么就能够这么说了!
3 , 静态方法,虽然定义在内部,并且也较方法,但是却不与任何对象联系,与从类访问方法是一样的 , 他们仍然是函数 。
这样看来上面的定义可以改改了:
函数的定义自然不变 。
方法的定义可以是这样的,与某个对象进行绑定使用的函数 。注意哦 。绑定不是指" . "这个符号 , 这个符号说实在的只有域名的作用 。绑定在这里是指,会默认赋值该绑定的对象 。
【python方法类函数 python中方法】关于python方法类函数和python中方法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读