类方法、静态方法
1 静态方法
定义形式:@staticmethod装饰,参数不需要self
静态方法无法引用或访问实例属性,可通过类.类变量访问类属性
可以采用类、类实例进行调用
与类相关,但不依赖和改变类和实例
类相关工具方法放在其中,使函数归于类,便于代码的管理
class
StaticMethodDemo:
b=10
def
__init__(self,a=0):
self.a=a
@staticmethod
def
staticFun():
print(StaticMethodDemo.b)
# print(self.a)
if
__name__ ==
'__main__':
smd=StaticMethodDemo()
StaticMethodDemo.staticFun()
smd.staticFun()
2 类方法
定义形式:@classmethod,需要带cls参数,表示自身这个类
无法引用或访问实例属性
可以采用类、类实例进行调用
与类相关,但不依赖和改变类和实例
工厂方法,创建类实例,完成有关预处理
类内调用静态方法,不需要硬编码类名
class
ClassMethodDemo:
b=10
def
__init__(self,a=0):
self.a=a
@staticmethod
def
staticFun():
return
ClassMethodDemo.b
@classmethod
def
classFun(cls,c=30):
return
cls(cls.staticFun()*c)
#返回类实例
# print(self.a)
if
__name__ ==
'__main__':
cmd=ClassMethodDemo.classFun(2)
print(cmd.a);
本文详细介绍了Python中类方法和静态方法的概念及其使用方法。包括它们的定义形式、访问特性及应用场景等,并通过具体代码示例展示了如何使用类方法和静态方法。

被折叠的 条评论
为什么被折叠?



