Getting 'NameError: name '<my function>' is not defined' error

Getting 'NameError: name '<my function>' is not defined' error

我创建了一个 Python 2.7 模块。它的名字叫回忆,保存在memories.py。代码是:

import random

def get_a_random_memory(length, lower_sum_range, upper_sum_range):
    # Start with a blank memory
    memory = list()

    # For each bit along the length we add a random value
    for i in range(0, length):
        memory.append((2 * random.randint(0, 1) - 1))

    return memory

当我尝试 运行 时出现以下错误。

>>> import memories
>>> print get_a_random_memory(10, 1, 10)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
NameError: name 'get_a_random_memory' is not defined

我用 print os.getcwd() 检查过。 memories.py 在我当前的工作目录中。

这是我工作环境的截图。

有什么帮助吗?

应该是这样访问的

import memories
print memories.get_a_random_memory(10, 1, 10)

如果你确实想将它导入当前命名空间,你可以这样做

from memories import get_a_random_memory