【python】使用property函数为类创建可管理属性fget\fset\fdel
import mathclass Circle:def __init__(self, radius):self.__radius = radius # 设置私有属性,不让用实例.__radius访问def __get_radius(self):return round(self.__radius, 1)def __set_radius(self, radius):if not isinstance(radius, (int, float)):raise TypeError('wronge type')self.__radius = radius@propertydef S(self):return self.__radius ** 2 * math.pi #property第二种方法,加装饰器@property@S.setterdef S(self, s):self.__radius = math.sqrt(s / math.pi) #property第二种方法,加装饰器@S.setterR = property(fget=__get_radius, fset=__set_radius) #property其中一种方法,定义类变量c = Circle(5.712)print(c.R) #调用了get_radius方法获取半径
c.R = 8.886 #调用了set_radius,设置半径
print(c.R)
print('=======================')
print(c.S) #调用S方法获取面积
c.S = 3.14 #设置面积
print(c.R)
print(c.S)==================================================================
5.7
8.9
=======================
248.063284953733
1.0
3.14
【python】使用property函数为类创建可管理属性fget\fset\fdel相关推荐
- Python使用property函数为类创建管理方法属性
1.如何创建可管理的对象属性? 实际案例: 在面向对象编程中,我们把方法(函数)看作对象的接口,直接访问对象的属性可能是不安全的,或设计上不够灵活.但是使用调用方法在形式上不如访问属性简洁. # 创建 ...
- python中property函数_python 邮件表格Python中property函数用法实例分析
本文实例讲述了Python中property函数用法.分享给大家供大家参考,具体如下: 通常我们在访问和赋值属性的时候,都是在直接和类(实例的)的__dict__打交道,或者跟数据描述符等在打交道.但 ...
- Python使用property函数和使用@property装饰器定义属性访问方法的异同点分析
Python使用property函数和使用@property装饰器都能定义属性的get.set及delete的访问方法,他们的相同点主要如下三点: 1.定义这些方法后,代码中对相关属性的访问实际上都会 ...
- Python进阶:理解元类创建类ABCMeta
Python进阶:Python进阶:理解元类创建类ABCMeta 一.理解元类(Meta class) 1.1 元类直观理解 1.2 Python官方文档给出的元类描述 二.理解抽象基类(ABC, A ...
- 【Python面试】 说说Python变量、函数、类的命名规则?
往期面试题: 谈谈对 Python 和其他语言的区别? 说说4种常用编码的区别? 说说Python面向对象三大特性? 说说Python中有几种数据类型? 废话不多说,开始今天的题目: 问:Python ...
- python中property函数_Python中的property()函数
property() 函数的作用是在新式类中返回属性值 1.语法: class property([fget[, fset[, fdel[, doc]]]]) 2.参数: fget -- 获取属性值的 ...
- Python使用property函数定义属性访问方法如果不定义fget会怎么样?
我们知道Python使用property函数定义属性访问方法时的语法如下: 实例属性=property(fget=None, fset=None, fdel=None, doc=None) 而是要@p ...
- Python零基础教程:函数和类内建魔法属性
前言 关于对象的魔法方法我们已经讲得太多,但是对于类或函数内建的魔法属性和功能我们涉及较少,下面系统了解一下类和函数的内建属性. 查看内建属性 class Person(object):passdef ...
- python基础之函数和类
8.函数 #函数 #1.定义函数的关键字 def def greet_user():'''简单的问候语'''print("hello this is function")#调用函数 ...
最新文章
- 金融行业数据管理将何去何从?
- Tarjan算法学习笔记
- html新增了哪些功能,HTML5相比HTML新增了哪些功能?
- Errors were encountered while processing 解决方法
- CF662C Binary Table(FWT_XOR卷积)
- iptables nat实验_【零基础学云计算】LVS负载均衡群集之NAT模式搭建 (实践篇)...
- Android中如何查看在res中存放的drawable文件对应的JAVA类型是什么呢
- 下载人脸认证助手_关于微信人脸解封验证失败方法
- 使用Html5+C#+微信 开发移动端游戏详细教程 :(三)使用html5引擎搭建游戏框架...
- window.postMessage 跨窗口,跨iframe javascript 通信
- Redis基础学习(2)
- java enum private_初步理解Java枚举类型
- 《Maven_孔浩》Maven介绍及安装
- C# wpf NotifyIcon空间模仿qqz最小化,关闭功能(12)
- 简约、高质量简历模板
- 画费氏数列螺线的代码
- ArcGIS批量按要素裁剪(应用模型)
- 一年代码功能点的创新性怎么写_技术部分创新点-新产品
- JS实现俄罗斯方块小游戏
- 分布式强化学习方法汇总
热门文章
- ABP vNext 对接 Ant Design Vue 实现分页查询
- 分式的二阶导数怎么求_二阶导数怎么求?
- 【bzoj 4202】石子游戏(博弈论+LCT)
- 学习笔记: BOOST拓扑
- Python if else条件语句你懂了吗?
- 「超盘云」品牌全新升级为「热度云」,热度星选完成A2轮融资
- 批发订货下单商城系统开发
- ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT
- Knoppix Bug
- [附源码]java毕业设计小区供暖收费管理系统