Python Shell:未定义全局名称“t”。我:但确实如此

2024-06-02 18:15:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我在pythonshell中导入了一个简单的模块。它只包含以下函数(它做什么对我的问题不重要)

 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

当我想在shell中测试它时,我设置变量

^{pr2}$

并调用generateMessages()。在

但是我得到一个错误NameError: global name 't' is not defined。 但它是有定义的!在

为什么会这样?我该怎么阻止这一切?在


Tags: 模块函数infordefrangerandommessages
1条回答
网友
1楼 · 发布于 2024-06-02 18:15:55

shell中的全局变量与generateMessages()所看到的不同。每个模块都有自己的模块。在

模块generateMessages()中的集合t中定义。在

您可以动态执行此操作:

>>> import yourmodule
>>> yourmodule.t = 100
>>> yourmodule.rate1 = 3

相关问题 更多 >