【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")#调用函数 ...
最新文章
- ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区
- 计算机网络相关知识 参考博客 子网掩码怎么理解 网关及网关的作用 路由器基础知识详解
- C语言 · 前10名
- JS基础_强制类型转换-Number
- 注解 @Target 用法
- 惊现漏洞门!大众汽车被曝安全风险,1分钟内即可轻易解锁
- 通过Xshell来访问和连接Linux
- 学习python: 单例设计模式
- paip.截屏功能流程说明
- sysmon安装报错“error getting the evt dll (wevtapi.dll): 87”解决办法
- illustrator插件-常用功能开发-直角圆角化-js脚本开发-AI插件
- MLX90614红外测温传感器使用arduino采集温度数据OLED显示
- java置换_java实现置换密码加密解密
- 飞秋教程(飞秋应用管理器)
- 坚果X3怎么样好不好值得买吗,和当贝X3哪款好这篇告诉你
- error: cannot lock ref 'refs/remotes/origin/master': unable to resolve reference 'refs/remotes/origi
- 几款好用的Markdown 写作工具推荐(上)
- 2019年,这些豆瓣评分9.0以上的8本程序员好书你都知道吗?
- 电能质量:闪变和波动
- i217lm网卡驱动linux,Intel英特尔I217/I218/I219系列网卡驱动