码迷,mamicode.com
首页 > 编程语言 > 详细

python中的函数调用绑定,静态方法和类方法

时间:2015-06-29 19:30:47      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:

在C++的类中,有两种函数:普通成员函数和静态成员函数,差别是成员函数通过类实例调用,而静态成员函数通过类名调用。本质上,成员函数在调用的时候会默认把this指针作为第一个参数传入,而静态成员函数不需要绑定this指针。

在python的类设计中,可以说将C++的这种隐式行为显式的表达出来了。

class Test(object):
    def __init__(self):
        pass
    def  func1(self):
        pass
    @classmethod
    def func2(cls):
        pass
    @staticmethod
    def func3();
        pass

 普通实例成员函数在调用时会绑定self参数(也就是调用它的那个实例的引用)

类方法会绑定类名

静态方法完全不绑定

注意静态方法和类方法的定义需要向上面那样使用函数修饰符。当然你也可能在老代码里看到这种做法(是等效的):

class Test(object):
    def __init__(self):
        pass
    def  func1(self):
        pass
    def func2(cls):
        pass
    func2 = classmethod(func2)
    def func3():
        pass
    func3 = staticmethod(func3)

 

python中的函数调用绑定,静态方法和类方法

标签:

原文地址:http://www.cnblogs.com/hustxujinkang/p/4607861.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!