为了账号安全,请及时绑定邮箱和手机立即绑定

为什么在 python 中定义 a 变量后出现名称错误?

为什么在 python 中定义 a 变量后出现名称错误?

qq_笑_17 2023-02-07 16:45:54
class HashMap:  def __init__(self, array_size):    self.array_size = size    self.array = [LinkedList() for number in range(array_size)]我写了上面的代码,它显示了以下错误: File "script.py", line 7, in __init__    self.array_size = sizeNameError: name 'size' is not defined
查看完整描述

1 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

您收到此错误是因为您指的是不存在的变量size。


当从外部实例化时,您的变量array_size将获得其值,并且可以在内部使用相同的值。但是,如果您打算修改它,请先将其分配给另一个变量,然后再修改新变量,例如,


size = array_size

size = size + 1 

self_array但是,在您发布的代码的上下文中,除了用于存储 LinkedList 对象列表之外,您显然不需要任何其他变量。


我已经使用占位符 LinkedList 类复制了您的代码(注释掉错误的代码)并且它运行时没有给出任何错误。


class LinkedList:

    def __init__(self):

        self.start_node = None



class HashMap:

    def __init__(self, array_size):

        #self.array_size = size

        self.array = [LinkedList() for number in range(array_size)]


a = HashMap(20)


print (len(a.array))

输出是:


20

希望能帮助到你


查看完整回答
反对 回复 2023-02-07
  • 1 回答
  • 0 关注
  • 165 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号