亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么在 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 關注
  • 146 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號