一.类属性
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