Python核心编程学习笔记-2016-08-13-02-绑定、静态方法和类方法
2016-08-13 22:37
776 查看
绑定方法和非绑定方法
类中的方法本质是类属性,另外就是只有在所在类拥有实例时,才能调用方法。这种方法就是绑定方法,这类方法的第一个参数是self。
非绑定方法用到的地方比较少,书中举的例子是覆盖父类方法。
静态方法和类方法
静态方法仅仅是类中的函数,不带self参数。
类方法同样也是不带self参数,它需要类作为第一个参数。
类中的方法本质是类属性,另外就是只有在所在类拥有实例时,才能调用方法。这种方法就是绑定方法,这类方法的第一个参数是self。
非绑定方法用到的地方比较少,书中举的例子是覆盖父类方法。
class EmplAddrBookEntry(AddrBookEntry): 'Employee Address Book Entry class' def __init__(self, nm, ph, em): AddrBookEntry.__init__(self, nm, ph) self.empid = id self.email = em其中AddrBookEntry.__init__(self, nm, ph)就是非绑定方法(没有实例)。
静态方法和类方法
静态方法仅仅是类中的函数,不带self参数。
类方法同样也是不带self参数,它需要类作为第一个参数。
class TestStaticMethod: def foo(): # 静态方法 print 'calling static method foo()' foo = staticmethod(foo) class TestClassMethod: def foo(cls): # 类方法 print 'calling class method foo()' print 'foo() is part of class:', cls.__name__ foo = classmethod(foo)用在函数那章学的装饰器表示更简洁。
class TestStaticMethod: @staticmethod def foo(): print "calling static method foo()" class TestClassMethod: @classmethod def foo(cls): print "calling class method foo()" print "foo() is part of class:", cls.__name__
相关文章推荐
- python核心编程学习笔记-2016-08-13-05-property()函数
- python核心编程学习笔记-2016-09-03-02-图形化用户界面编程(三)
- python核心编程学习笔记-2016-08-02-02-模块动态导入
- python核心编程学习笔记-2016-07-20-02-整型对象缓存
- python核心编程学习笔记-2016-07-23-02-切片索引
- python核心编程学习笔记-(第1天)-运行python
- python核心编程学习笔记-pyt…
- python核心编程学习笔记-2016-08-15-01-左加法__add__和右加法__radd__
- Python核心编程--学习笔记--4--Python对象
- Python核心编程--学习笔记--9--文件和输入输出
- python核心编程学习笔记-2016-08-03-01-习题9-9
- python 核心编程学习笔记(第4章) 对应Let's-python视频第5集
- python核心编程学习笔记-2016-08-02-01-读取文件的函数中的文件指针问题
- Python核心编程--学习笔记--8--条件与循环
- ASP.NET 3.5核心编程学习笔记(58):利用页面方法来进行远程调用
- ASP.NET 3.5核心编程学习笔记(18):数据绑定表达式
- python核心编程学习笔记-2016-08-05-01-习题9-19
- Python核心编程--学习笔记--2--Python起步(上)
- Python核心编程--学习笔记--7--字典和集合
- Python核心编程--学习笔记--3--Python基础