python定义属性时需要注意哪些细节
发表于:2024-09-26 作者:千家信息网编辑
千家信息网最后更新 2024年09月26日,本篇内容主要讲解"python定义属性时需要注意哪些细节",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"python定义属性时需要注意哪些细节"吧!面向对象
千家信息网最后更新 2024年09月26日python定义属性时需要注意哪些细节
本篇内容主要讲解"python定义属性时需要注意哪些细节",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"python定义属性时需要注意哪些细节"吧!
面向对象编程时定义属性需要注意:有些属性是初始化实例时根据参数来定,而有些属性可根据其它属性推导,注意不要把这种可推导的属性把__init__函数中。正确的做法是将可推导的属性定义成函数,另通过@property将函数伪装成属性。
案例,定义圆形类,该圆形有半径、周长、面积这3个属性。
错误的案例
class Circle(): # 定义圆形对象def __init__(self, radius): # 实例初始化时需要参数--半径self.radius = radius self.perimeter = 2*3.1415926535*self.radius self.area = 3.1415926535*self.radius**2a_Circle = Circle(5)print(f'圆的半径是{a_Circle.radius},它的面积是{a_Circle.area:.2f},它的周长是{a_Circle.perimeter:.2f}')a_Circle.radius = 10print(f'圆的半径是{a_Circle.radius},它的面积是{a_Circle.area:.2f},它的周长是{a_Circle.perimeter:.2f}')out:圆的半径是5,它的面积是78.54,它的周长是31.42圆的半径是10,它的面积是78.54,它的周长是31.42
在上述案例中定义了一个圆形类,它有半径、周长、面积3个属性,定义的时候好像没有问题,可是初始化以后会发现问题。
圆的半径是5时,打印它的半径、面积、周长时毫无问题,但是改变当改变该圆的半径值时,面积和周长并未更新!
正确的案例
class Circle(): # 定义圆形对象def __init__(self, radius): # 实例初始化时需要参数--半径self.radius = radius @propertydef perimeter(self): # 圆的周长return 2*3.1415926535*self.radius @propertydef area(self): # 圆的半径return 3.1415926535*self.radius**2a_Circle = Circle(5)print(f'圆的半径是{a_Circle.radius},它的面积是{a_Circle.area:.2f},它的周长是{a_Circle.perimeter:.2f}')a_Circle.radius = 10print(f'圆的半径是{a_Circle.radius},它的面积是{a_Circle.area:.2f},它的周长是{a_Circle.perimeter:.2f}')out:圆的半径是5,它的面积是78.54,它的周长是31.42圆的半径是10,它的面积是314.16,它的周长是62.83
在上述案例中定义了一个圆形类,它有半径一个属性,周长和面积是根据半径计算出结果的函数,在函数前加@property可将函数伪装成属性。
圆的半径是5时,打印它的半径、面积、周长时毫无问题;改变当改变该圆的半径值时,面积和周长同步更新!
到此,相信大家对"python定义属性时需要注意哪些细节"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
半径
周长
面积
属性
函数
圆形
案例
问题
细节
参数
实例
对象
内容
学习
更新
实用
更深
做法
兴趣
实用性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
怎么把数据库引擎打开
书目检索通常借助什么数据库
软件开发工程师的职业技能
数据库月统计年统计
vb 模块数据库连接
如龙网络技术
计算机网络技术择业
西安石油大学网络安全
网络安全班队活动主持稿
什么服务器可以挂淘宝店
油库网络安全
rds 数据库
软件开发师简介
舰载指控系统数据库
中小学网络安全知识竞赛题
软件开发一年制
运营网络技术咨询概况
下载免费软件开发
重组网络安全概念股
网络安全出国读研究生
自然身份数据库
移动应用服务器存放点
服务器ST C7THJK2
戴尔服务器哪个配置好
互联网科技龙头
山西软件开发公司薪资待遇
河南软件开发定制大概价格
阿里云服务器空文件夹在哪里
深圳睡眠健康软件开发公司
北京五木恒润软件开发公司官网