我是Python的初学者,通过艰难的学习Python学习。
不幸的是,我一直收到错误但不知道为什么。
以下是代码:
def new(num_buckets=256): # Creates list aMap and fills it with 256 empty lists.
""" Initializes a Map with the given number of buckets."""
aMap = []
for i in range(0, num_buckets):
aMap.append([])
return aMap
new()
print aMap
奇怪的是,我一直收到一条消息说即使我刚刚运行了一个函数来创建一个列表中的一堆空桶,也没有定义aMap。
感谢您的帮助。
答案 0 :(得分:7)
new()
返回 aMap
,但您从未将其存储在任何地方。你想要:
aMap = new()
一般来说,除非您明确说明(通过global
或nonlocal
1 语句),否则名称仅存在于定义它的范围内。在这种情况下,名称aMap
仅存在于函数new
中。要使该名称存在于函数外部,您需要为其指定一些内容。
1 仅限Python3.x