[总结]python 静态方法与类方法
来源:互联网 发布:香港直播软件 编辑:程序博客网 时间:2024/06/08 11:01
1. 对象方法有self参数,类方法有cls参数,静态方法是不需要这些附加参数的。
2. @staticmethod和@classmethod都是用来定义静态函数的。
相同点:
都不用实例化类,可以直接用类名来调用其相关属性。
不同点:
@classmethod的第一个参数是cls,因此可以访问类变量,或是用作类厂。
@staticmethod只是自身代码在类里面,对类的其它再无相关。
3. 一般情况下用@classmethod,@staticmethod只适用于不想定义全局函数的情况。
4. 类方法可以访问per-class的数据。举个不实际的例子:
>>> class Named(object):... @classmethod... def name(cls):... return cls.__name__... >>> class Sub(Named):... pass... >>> obj = Sub()>>> obj.name()'Sub'
------------------------------------------------------------------------------------------------------------------------------
第一种方式(staticmethod):>>> class Foo: str = "sample." def bar(): print Foo.str bar = staticmethod(bar)>>> Foo.bar()sample.第二种方式(classmethod):>>> class Foo: str = "sample." def bar(cls): print cls.str bar = classmethod(bar)>>> Foo.bar()sample.---------------------------------------------------------------上面的代码我们还可以写的更简便些:>>> class Foo: str = "sample." @staticmethod def bar(): print Foo.str>>> Foo.bar()sample.或者>>> class Foo: str = "sample." @classmethod def bar(cls): print cls.str>>> Foo.bar()sample
- [总结]python 静态方法与类方法
- python 静态方法与类方法
- Python类成员方法与静态方法
- Python类的成员方法、类方法与静态方法
- python中的静态类与方法
- Python静态方法和类方法深度总结
- Python 静态类、静态方法
- Python 静态方法 类方法
- Python 静态方法 类方法
- Python 类方法 静态方法
- Python的类方法,静态方法,实例方法,类变量,实例变量,静态变量的总结
- Python中静态方法与类方法比较
- python中的类方法与静态方法的区别
- 静态方法与实例方法总结:
- python类方法、实例方法、静态方法
- Python 静态方法 类方法 实例方法
- python实例方法,静态方法,类方法
- python --类方法、对象方法、静态方法
- db
- 复制构造函数
- Samba SELinux限制"共享目录无法访问"
- myeclipse中安装TFS插件
- 黑马程序员 java学习笔记--正则表达式
- [总结]python 静态方法与类方法
- ASP.NET错误登陆3次,锁定账户
- JS节点
- 开始用CSDN记录自己的学习之路,自己的成长之路!!!
- Tutorial – Installing gcc compiler on iPhone
- JFrame 居中显示
- linux利用ntfs-3g来实现对NTFS分区的读写
- USACO 1.2.3 Name That Number
- JavaScript实现的猜数字小游戏~~