python静态方法类方法属性方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python静态方法类方法属性方法相关的知识,希望对你有一定的参考价值。
Python的静态方法和类成员方法都可以被类或实例访问,两者概念不容易理清,但还是有区别的:
1)静态方法无需传入self参数,类成员方法需传入代表本类的cls参数;
2)从第1条,静态方法是无法访问实例变量的,而类成员方法也同样无法访问实例变量,但可以访问类变量;
3)静态方法有点像函数工具库的作用,而类成员方法则更接近类似Java面向对象概念中的静态方法。
静态方法
@staticmethod
def staticmd():
print ‘静态方法
@classmethod
def classmd(cls):
print ‘类方法‘‘
def classmd(cls):
print ‘类方法‘‘
静态方法:无法访问类属性、实例属性,相当于一个相对独立的方法,跟类其实没什么关系,换个角度来讲,其实就是放在一个类的作用域里的函数而已。
类成员方法:可以访问类属性,无法访问实例属性。
属性方法:@property
Python内置的@property装饰器就是负责把一个方法变成属性调用
利用property装饰器,可以让成员函数称为只读的,不提供setter和deleter
class C(object): def __init__(self): self._x = None @property def x(self): """I‘m the ‘x‘ property.""" return self._x @x.setter def x(self, value): self._x = value @x.deleter def x(self): del self._x
以上是关于python静态方法类方法属性方法的主要内容,如果未能解决你的问题,请参考以下文章
Python高级语法-对象实例对象属性-类与实例,class方法静态方法等(4.6.1)
python 面向对象专题:私有成员类方法静态方法属性isinstance/issubclass
python 面向对象专题:私有成员类方法静态方法属性isinstance/issubclass
Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法