Python 描述符代码示例
来源:互联网 发布:成都网络公关公司 编辑:程序博客网 时间:2024/06/05 09:16
动态检查格式,可通过描述符的形式实现。
class Typed: def __init__(self, name, expected_type): self.name = name self.expected_type = expected_type def __get__(self, instance, cls): if instance is None: return self else: return instance.__dict__[self.name] def __set__(self, instance, value): if not isinstance(value, self.expected_type): raise TypeError('expected ' + str(self.expected_type)) instance.__dict__[self.name] = value def __delete__(self, instance): del instance.__dict__[self.name]
def typeassert(**kwargs): def decorate(cls): for name, expected_type in kwargs.items(): setattr(cls, name, Typed(name, expected_type)) return cls return decorate
@typeassert(name=str, shares=int, price=float)class Stock: def __init__(self, name, shares, price): self.name = name self.shares = shares self.price = price
In [104]: Stock.nameOut[104]: <__main__.Typed at 0xa3df860>In [105]: Stock('test', 1, 2.2).nameOut[105]: 'test'In [106]: Stock('test', 1, 2.2).sharesOut[106]: 1In [107]: Stock('test', 1, 2.2).priceOut[107]: 2.2
阅读全文
0 0
- Python 描述符代码示例
- 代码描述的Android AIDL示例 - IPC
- python MySQLdb示例代码
- [Python] SQLBuilder 示例代码
- [Shell]文件描述符示例
- Python classMethod描述符
- python描述符
- 转 python描述符
- Python 描述符
- python描述符Descriptor
- python之描述符
- 初学python描述符
- python 描述符descriptor
- python描述符详解
- Python学习---描述符
- python描述符 descriptor
- Python描述符
- python 描述符
- css样式及其加载顺序
- 利用网页表格导出EXCEL表格加线框及表格内部间距的问题
- 解决cocoapods diff: /../Podfile.lock: No such file or directory
- JavaScript高级选择器querySelector和querySelectorAll
- oracle rac报错:PRVF-9652 : Cluster Time Synchronization Services check failed
- Python 描述符代码示例
- mysql-mmm-monitor服务启动错误,没有编译相关的Class::Singleton包
- 利用代码下载Apk
- HTML学习1
- HDU-4323Magic Number
- sql数据库备份和恢复
- AbstractQueuedSynchronizer 之 共享锁
- aliyun E-MapReduce 使用指南
- FCC----------- Sum All Odd Fibonacci Numbers