我想知道是否存在允许我做这样的事情的python模块:
x = MagicNumber()
x.value = 3
y = 2 * (x + 2) ** 2 - 8
print y # 42
x.value = 2
print y # 24
Run Code Online (Sandbox Code Playgroud)
因此,MagicNumber
将实现所有特殊的运算符方法,并且它们都将返回MagicNumber的实例,同时跟踪执行的操作.有这样的课吗?
编辑:澄清
我想在一个模块中使用它,该模块应该记住用户希望执行的某些任意计算的许多参数.因此,用户将设置参数,然后使用它们来生成结果.然后如果他决定改变参数,那么改变会立即反映在他的结果中.因此,只有一个参数实例的非常简化的使用会话将如下所示:
p = MyParams()
p.distance = 13.4 # I use __getattr__ and __setattr__ such that
p.speed = 3.14 # __getattr__ returns MagicNumber instances
time = p.distance / p.speed
Run Code Online (Sandbox Code Playgroud)
编辑2:更多澄清
好的,我会从一开始就做我应该做的.我会提供上下文.
您是一名工程师,您将制作一份LaTeX文档,详细说明某些原型小工具的工作原理和属性.对于不同的原型,这是一项重复的任务.你写了一个小的LaTeX python接口.对于每个原型,您创建一个生成必需文档的python模块.在其中输入LaTeX代码,同时根据需要计算变量,以便计算在上下文中.过了一会你就发现了两个问题:
出于这个问题出现了原始问题.
python ×1