首页 > 编程语言 > 详细

python静态属性,静态方法,类方法

时间:2018-06-26 17:05:48      阅读:185      评论:0      收藏:0      [点我收藏+]
#静态属性的作用是吧类的方法隐藏起来(可以把背后的逻辑隐藏起来),让用户感觉是在电泳属性,而不是方法 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静态属性,静态方法,类方法

原文:http://blog.51cto.com/853056088/2132884

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!