我已经定义了一个ctypes变量:
abc=ctypes.c_double.from_buffer(struct, STRUCT.field_1.offset)
abc
表示具有类定义struct
的ctypes结构实例STRUCT
的field_1。稍后,如果我想修改abc
的值,我必须这样做:
abc.value=1.0
也会像我预期的那样改变struct.field_1
的价值。
修改abc
的值后,我可能不知道abc
的数据类型是什么,所以只需使用传统语法
abc=1.0
将abc
重新定义为普通的python变量,struct.field_1
不会相应更改。如何使用传统的python语法更改struct.feild_1
到abc
的值?
答案 0 :(得分:1)
这是不可能的 - 在Python中,名称(或“变量”)的行为是不可配置的,只是对象(或“值”)的行为。普通旧foo =
重新绑定一个名称,它不依赖于任何对象行为。
你可能会发现http://nedbatchelder.com/text/names.html有所解释。