Cod*_*ein 1 python shell global-variables
我在我的Python shell中导入了一个简单的模块.它只包含以下功能(它对我的问题不重要)
def generateMessages():
messagesPerSecond = [getPoisson(rate1) for i in range(0, t)]
messages = []
while i < t:
while j < messagesPerSecond[i]:
millisecond = round(random.random(), 3)
messages.append(i + millisecond)
j += 1
i += 1
Run Code Online (Sandbox Code Playgroud)
当我想在shell中测试它时,我设置了变量
t = 100
rate1 = 3
Run Code Online (Sandbox Code Playgroud)
并打电话generateMessages().
但后来我收到了一个错误NameError: global name 't' is not defined.但是它被定义了!
为什么会这样?我怎么阻止这个?
shell中的全局变量与generateMessages()看到的全局变量不同.每个模块都有自己的模块.
t 在模块中generateMessages()设置定义.
你可以动态地做到这一点:
>>> import yourmodule
>>> yourmodule.t = 100
>>> yourmodule.rate1 = 3
Run Code Online (Sandbox Code Playgroud)