Python和科学计算认证群组  - 讨论区

标题:新手关于书中程序的问题

bb

bb

2012年04月12日 星期四 17:31

刚开始学些python,买了科学计算这本书,看了感觉收获很大。有点问题想请教:

书中里面traitsui_csv_viewer这个程序中,用自定义EnumEditor的代码

 

Item("selected_xaxis", editor=                EnumEditor(name="object.data_source.names", format_str=u"%s")),

我想请问里面的object代表什么含义?

还有我在自己的代码中也是这样写的,为什么运行的时候一直提示说

'NoneType' object has no attribute 'alltypes' (alltypes是我定义的DataSource类的一个属性)

但是我使用print 可以访问这个属性

 

2012年04月12日 星期四 18:44

object就是此视图对象所对应的模型对象,在本程序中就是Graph对象。关于这一点的说明在

用Handler控制界面和模型

对象编辑器

中有介绍。

如果你的程序用的是

"object.data_source.alltype"

并提示
'NoneType' object has no attribute 'alltypes'
那么说明模型对象的data_source为None,可能程序运行到那里时data_source还没有初始化。

2012年04月12日 星期四 18:47

如果你要贴代码详细讨论的话,可以到我的主页的论坛上,那里可以贴代码:

http://hyry.dip.jp/tech/forum/index.html/1

bb

bb

2012年04月12日 星期四 19:19

感谢指点。我有点明白问题所在了。

因为在书里面是在CSVGrapher这个类里面初始化data_source(因为这个部分先显示),所以之后设置就没问题了。

按照这个思路,我现在在_init_方法里面写上了data_source=Instance(DataSource)现在就可以了。

不知道还有没有其他方法?

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号