文章目录
Traits
Python作为一种动态编程语言,它的变量没有类型,这种灵活性给快速开发带来便利,不过也存在一定的缺点。
例如:颜色属性
- ‘red’ 字符串
- 0xff0000 整数
- (255, 0, 0) 元组
但是’abc’不是合法的颜色值。
Traits库可以为Python添加类型定义。
Traits属性解决color类型问题
- 接受能表示颜色的各种类型的值。
- 赋值为不能表达颜色的值时,它能够立即捕捉到错误,提供一个错误报 告,告诉用户能够接受什么值。
- 它提供一个内部、标准的颜色表达方式。
Traits属性表示颜色
当输入c.color = 'abc'
时:
输入c.configure_traits()
。会弹出一个对话框。
点击红色部分可以选择颜色。
选择完成:
关闭窗口后返回True。
此时再次查看颜色,可以看到已经变为选择的颜色了。
Trait属性的功能
Trait库为Python对象的属性增加了类型定义功能。
还提供了功能:
- 初始化:每个Trait属性都有自己的默认值。
- 验证:Trait属性有明确的类型定义,满足定义的值才能赋值给属性。
- 代理:Trait属性值可以代理给其他对象的属性。
- 监听:Trait属性值发生变化时,运行事先指定的函数。
- 可视化:拥有Trait属性的对象,可生成编辑Trait属性的界面。