Day 16/100:装饰器
印象Python
共 1285字,需浏览 3分钟
·
2021-04-18 19:27
上一节我们对类和面向对象做了简单的介绍,了解了面向对象的一些特征还有类的成员和方法,最后对类方法的访问限制也用实例做了演示。尚未看过的小伙伴可以参考一下:Day 16/100:类
今天我们来看一下类的继承和重写。在此之前沃尔玛你先来了解一下另外一个概念:
装饰器)
在Python中,可以通过@property(装饰器)将一个方法转为属性,从而实现用于计算的属性。这样一来就可以直接使用方法名来访问方法。可以使得代码更加简洁。
@property
def method(self):
block
例如定义方法求矩形面积:
class Rect:
def __init__(self, width, height):
self.width = width
self.height = height
#定义计算面积的方法使用@property将其转为属性
@property
def area(self):
return self.width * self.height
#创建实例
rect = Rect(20,30)
print('面积为:', rect.area)
'''
面积为:600
'''
为属性添加保护机制
默认情况,创建类属性或者实例在类外是可以修改的,如果我们需要限制在类外不可修改,就要将其设为私有。那么就可以使用@property将其设置为只读。
class Ract:
def __init__(self, wid, hig):
self.__width = wid #定义私有属性
self.__height = hig
@property
def area(self):
return self.__width * self.__height
ract = Ract(50,60)
#添加修改逻辑
ract.area = (55,66)
print(ract.area)
'''
AttributeError: can't set attribute
'''
回复下方 「关键词」,获取优质资源
回复关键词 「linux」,即可获取 185 页 Linux 工具快速教程手册和154页的Linux笔记。
回复关键词 「Python进阶」,即可获取 106 页 Python 进阶文档 PDF
回复关键词 「Python面试题」,即可获取最新 100道 面试题 PDF
回复关键词 「python数据分析」,即可获取47页python数据分析与自然语言处理的 PDF
回复关键词 「python爬虫」,满满五份PPT爬虫教程和70多个案例
推荐我的微信号
来围观我的朋友圈,我的经验分享,技术更新,不定期送书,坑位有限,速速扫码添加!
备注:开发方向_昵称_城市,另送你10本Python电子书。
评论