Traits基础

Traits的背景

Python作为一种动态编程语言,它的变量没有类型,这种灵活性给快速开发带来便利,不过也存在一定的缺点。

例如:颜色属性

          'red'                     字符串        ‘abc’合法颜色值吗?

           0xff0000            整数

          (255,0,0)    元祖

Traits库可以为python添加类型定义

Traits属性解决color类型问题:

         接受能表示颜色的各种类型的值;

          赋值为不能表达颜色的值时,它能够立即捕捉到错位,提供一个错误报告,告诉用户能够 接受什么值;

           它提供一个内部、标准的颜色表达方式

Traits基础_第1张图片
Traits属性表示颜色的例子
Traits基础_第2张图片
Traits属性表示颜色的例子
Traits基础_第3张图片
Traits属性表示颜色的例子
Traits基础_第4张图片
Traits属性表示颜色的例子

Traits属性的功能

Traits库为python对象的属性增加了类型定义功能

还提供了功能:

          初始化:每个Traits属性都有自己的默认值

          验证:Traits属性有明确的类型定义,满足定义的值才能赋值给属性

          代理:Traits属性可以代理给其他对象的属性

          监听:Traits属性值发生变化时,运行事先指定的函数

          可视化:拥有Traits属性的对象,可生成编辑Traits属性的界面

Traits基础_第5张图片
Traits属性的功能
Traits属性的功能
Traits基础_第6张图片
Traits属性的功能
c的age属性值发生变化时,将触发其监听函数_age_changed():
Traits基础_第7张图片
调用configure_traits()显示一个修改属性值的对话框
Traits基础_第8张图片
Traits的其它方法
Traits基础_第9张图片
Traits属性监听

Traits属性监听有两种模式:静态监听和动态监听

Traits基础_第10张图片
Traits属性监听函数调用顺序
Traits基础_第11张图片
静态监听函数的几种形式
Traits基础_第12张图片
动态监听函数的几种形式
Traits基础_第13张图片
Event属性与其它Trait属性的区别
Button属性
Traits基础_第14张图片
Event监听
Traits基础_第15张图片
Event监听
Traits基础_第16张图片
Property属性
Traits基础_第17张图片
Property属性
Traits基础_第18张图片
Property属性

你可能感兴趣的:(Traits基础)