python静态方法的作用_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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值