这个python语句的作用是什么?

我正在尝试探索 Kivy API,但我对在他们的multitexture example中找到的一些代码行感到非常困惑。一行代码似乎将值“1”分配给“self.canvas”中的“texture0”键,将“self.canvas”视为python字典。

那个代码是self.canvas['texture0'] = 1

但是,当我越过调试器这一行时,我在 self.canvas 中看不到这样的条目,并且 self.canvas 的类型为“RenderContext”。事实上,我没有看到任何迹象表明该语句更改了调试器中可观察到的任何内容,但如果我评估self.canvas['texture0'],它的评估结果为“1”。

http://img4.mukewang.com/62df5ad20001fdfd16690315.jpg

这个值存储在哪里?我在 Kivy 的画布文档中也找不到任何线索



饮歌长啸
浏览 102回答 1
1回答

元芳怎么了

将“self.canvas”视为 python 字典。这与字典无关,使用 [] 符号只是调用__getitem__或__setitem__- 请参阅Python 文档。碰巧的是,在这种情况下,该类将数据存储在内部字典中,但这是一个实现细节,而不是此语法所要求的。但是,当我越过调试器这一行时,我在 self.canvas 中看不到这样的条目画布对象在 cython 中定义,用于此存储的内部状态属性对 Python 代码不可见。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python