2013年11月7日

Python Cookbook学习记录 ch6_3_2013/11/7

摘要: 6.3限制属性的设置通常情况下,Python允许随意给类和类实例增加属性。但是对于某些特性的类,希望这种自由受到限制一种优雅的实现方法是写一个类和一个简单的自定义元类,再加上一个封装函数。# -*- coding: cp936 -*-def no_new_attributes(wrapped_setattr): """试图添加新属性,报错 但是允许已经存在的属性被随意设置""" def __setattr__(self,name,value): if hasattr(self,name): wrapped_setattr(self,. 阅读全文

posted @ 2013-11-07 22:51 七海之风 阅读(160) 评论(0) 推荐(0)

Python Cookbook学习记录 ch6_2_2013/11/7

摘要: 6.2 定义常量常量是指一旦初始化后就不能修改的固定值。c++中使用const保留字指定常量,而python并没有定义常量的保留字。但是python是一门功能强大的语言,可以自己定义一个常量类来实现常量的功能。# -*- coding: UTF-8 -*-# Filename: const.py# 定义一个常量类实现常量的功能## 该类定义了一个方法__setattr()__, 和一个异常ConstError, ConstError类继承# 自类TypeError. 通过调用类自带的字典__dict__, 判断定义的常量是否包含在字典# 中。如果字典中包含此变量,将抛出异常,否则,给新创建的常 阅读全文

posted @ 2013-11-07 22:06 七海之风 阅读(185) 评论(0) 推荐(0)

导航