python静态属性,静态方法,类方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python静态属性,静态方法,类方法相关的知识,希望对你有一定的参考价值。
#静态属性的作用是吧类的方法隐藏起来(可以把背后的逻辑隐藏起来),让用户感觉是在电泳属性,而不是方法 class Static: attribute='属性' def __init__(self,parameter1,parameter2,parameter3): self.parameter1 = parameter1 self.parameter2 = parameter2 self.parameter3 = parameter3 def test(self): return ('test',self.parameter1) @property def print_static(self): print(Static.attribute) return ('这个是静态属性的结果 %s %s %s'%(self.parameter1,self.parameter2,self.parameter3)) s=Static('hello','world','!') print(s.test()) print(s.print_static)
静态方法:
#静态方法只是名义上归类管理,不能使用类变量和实例变量,是类的工具包 #我个人的理解是扯虎皮做大旗,静态方法只是借用类的大树下的一个独立函数 class Static: attribute='属性' def __init__(self,parameter): self.parameter=parameter def test(self): return ('test',self.parameter) @staticmethod def print_static(a,b,c): print(Static.attribute) return ('这个是静态方法',a+b+c) s=Static('hello') print(s.test()) print(Static.print_static(2,4,6))
类方法:
''' @classmethod 类方法是通过类里面的函数调用类本身的属性 ''' class Class(): attribute='类的属性'#类的属性 def __init__(self,parameter): #这里的self是一个对象 self.parameter=parameter #实例的属性 def test(self): print(self) return ('类方法测试调用',self.parameter) @classmethod#类方法只能调用类属性,不能调用实例属性 def print_class(cls): #这里的cls是一个类 print(cls) return ('通过类调用类的属性',cls.attribute) x=Class('实例的属性') print(x.test()) print(x.parameter) print(Class.print_class()) print(Class.attribute)
以上是关于python静态属性,静态方法,类方法的主要内容,如果未能解决你的问题,请参考以下文章