python中的函数调用绑定,静态方法和类方法
2015-06-29 16:51
701 查看
在C++的类中,有两种函数:普通成员函数和静态成员函数,差别是成员函数通过类实例调用,而静态成员函数通过类名调用。本质上,成员函数在调用的时候会默认把this指针作为第一个参数传入,而静态成员函数不需要绑定this指针。
在python的类设计中,可以说将C++的这种隐式行为显式的表达出来了。
普通实例成员函数在调用时会绑定self参数(也就是调用它的那个实例的引用)
类方法会绑定类名
静态方法完全不绑定
注意静态方法和类方法的定义需要向上面那样使用函数修饰符。当然你也可能在老代码里看到这种做法(是等效的):
在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装饰器
- python的方法总结:
- Python Decorators(二):Decorator参数【转载】
- python中的namespace
- python中self.__class__
- Python 类 setattr、getattr、hasattr 的使用
- Python3发送post请求,自动记住cookie
- Python Django 开发 3 数据库CURD
- Python Decorators入门 (一) 【转载】
- Python递归输出字典所有不同深度的路径
- Python join()方法
- HMM最大匹配分词算法(Python)
- capitalize()在Python中含义
- Python学习笔记 - 函数参数
- Python学习笔记 - 函数参数
- python中的随机数-----random
- 汉字字频统计程序(Python版)
- python学习一
- Python正则表达式指南
- python使用xmlrpc实例讲解