Python 类属性 类方法 静态方法

一.类属性
1.参考代码:

"""
一、参考:
https://blog.csdn.net/weixin_43790276/article/details/90744159
二、说明:
1.类属性可以使用类对象或实例对象访问
2.可以通过类对象来修改类属性,但是不可以通过实例对象来修改类属性。
"""
class House:

    #类属性
    price = 'high'



#通过类对象获取类属性值
print(House.price)
#通过实例对象获取类属性值
h = House()
print(h.price)

print("#"*20)

#通过类对象修改类属性值
House.price = 'too high'
#通过类对象获取类属性值
print(House.price)
#通过实例对象获取类属性值
print(h.price)

print("#"*20)

#通过实例对象修改类属性值
h.price = 'high'
#通过类对象获取类属性值
print(House.price)
#通过实例对象获取类属性值
print(h.price)

2.运行结果:

D:\python37\python.exe E:/xindalu/My_python/jiaoyu/类属性、类方法、静态方法/类属性.py
high
high
####################
too high
too high
####################
too high
high

Process finished with exit code 0

二.类方法
1.参考代码:

"""
一、类方法定义:
1.使用装饰器@classmethod来标识其为类方法;
2.类方法的第一个参数一般是cls。
二、说明:
1.类方法一般和类属性配合使用
2.一般当类的属性是私有属性时,使用类方法。
"""
class House(object):

    __price = 'high'

    @classmethod
    def get_price(cls):
        return cls.__price


print(House.get_price())

h = House()
print(h.get_price())

2.运行结果:

D:\python37\python.exe E:/xindalu/My_python/jiaoyu/类属性、类方法、静态方法/类方法.py
high
high

Process finished with exit code 0

三.静态方法
1.参考代码:

"""
说明:
1.可以把静态方法当成一个普通的函数。
2.形参里没有self/cls,所以不会自动传递实例对象和类对象。
3.当定义的方法与类关时,可以定义成静态方法。
4.静态方法很像我们在类外定义的函数,只不过静态方法可以通过类或者实例来调用而已。
"""
class House(object):

    __price = 'high'

    @classmethod
    def get_price(cls):
        return cls.__price

    @staticmethod
    def description():
        return 'No money, no house'


print(House.description())

h = House()
print(h.description())

2.运行结果:

D:\python37\python.exe E:/xindalu/My_python/jiaoyu/类属性、类方法、静态方法/静态方法.py
No money, no house
No money, no house

Process finished with exit code 0

四.参考文献
1.https://blog.csdn.net/weixin_43790276/article/details/90744159

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值