【发布时间】:2014-05-07 12:30:02
【问题描述】:
我应该使用一些我自己没有编写的混乱代码,在混乱中我发现了两个以这种奇怪方式进行通信的脚本(通过第三个中间人脚本):
message.py,“中间人”脚本:
class m():
pass
sender.py,谁想向接收者发送一些信息:
from message import m
someCalculationResult = 1 + 2
m.result = someCalculationResult
receiver.py,谁想打印sender.py产生的一些结果:
from message import m
mInstance = m()
print mInstance.result
而且,神奇的是,在解释器中,导入 sender.py 然后 receiver.py 确实会打印 3...
现在,这里到底发生了什么?我们是否将结果存储到类定义本身并通过特定实例恢复它们?如果是这样,为什么我们不能从定义本身中恢复结果呢?有没有更优雅的方式在解释器中连续运行的脚本之间传递内容?
使用 Python 2.6.6
【问题讨论】:
-
“如果是这样,为什么我们不能从定义本身中恢复结果呢?” - 你可以。创建一个实例是不必要的,但话说回来,整个类也是不必要的。
标签: python class instance interpreter