python中的property是比较好用的。

先来一段代码

#-*- coding:utf-8 -*-

class C(object):
status_dict = {
1: 'accept',
2: 'reject'
}
def __init__(self):
self._x = 1 @property
def status(self):
return self.status_dict[self._x] @status.setter
def status(self, val):
if val == 'reject':
self._x = 2
elif val == 'accept':
self._x = 1 c = C() print c.status
print c._x
c.status = 'reject'
print c.status
print c._x

这段代码用了property装饰器还用了setter,我之前用property比较多,比如我已经制定了一个状态,但是想获得这个状态对应的中文描述,加一个property就好,这样可以把这个状态当作这个对象的属性来操作,但是我知道了状态的描述想要改变这个描述,该怎么办呢,而且我还不知道对应的关系,这个时候setter就上场了。

-------------------

先割一下,先写这么多,再慢慢补充。

最新文章

  1. HTTP、HTTP2
  2. sql语句-ALTER TABLE
  3. 一种集合“相等性”的实现
  4. LeetCode题解-----Median of Two Sorted Arrays
  5. 设置浮点数的显示精度&precision(0)
  6. NAS、DAS和SAN三种存储究竟是什么?
  7. 学习第一个头文件stdio.h
  8. hdu 5654 xiaoxin and his watermelon candy 莫队
  9. 基于 dbms_redefinition 在线重定义表
  10. kali系统教程:创建热点
  11. FusionCharts封装-单系列图
  12. SQL语句常见DDL/DML/DCL操作部分试题(一)
  13. .apply()用法和call()的区别
  14. input 的 oninput onkeypress onkeydown onchange 事件的区别
  15. Fastjson 爆出远程代码执行高危漏洞,更新版本已修复
  16. js使用正则表达式实现文本框只能输入数字和小数点
  17. Spring IOC - 控制反转(依赖注入) - 入门案例 - 获取对象的方式 - 别名标签
  18. 在Visual Studio中使用.lib和.dll的环境搭建
  19. sprintf函数 %6.2f
  20. Eolinker——代码注入插入随机参数值

热门文章

  1. 用JQuery动态为选中元素添加/删除类
  2. Python非阻塞网络通信Howto
  3. 长文丨papi、咪蒙、罗胖之后,内容创业的机会在哪儿
  4. Comparable和Comparator实现对象比较
  5. Linux--01入门
  6. Camel运行原理分析
  7. 微信:JSSDK开发
  8. Lab_4_SysOps_Monitoring_Linux_v2.5
  9. <<Exceptional C++>> notes
  10. Python的第一天