所以,我是 python 的新手,在嘗試運行下面的代碼時遇到錯誤,我被困了好幾個小時
class ConjuntoDeInteiros:
def _init_(self, conjunto, storage_capacity=100): #initializes a list and its length, default value is 100
self.storage_capacity = storage_capacity
self.conjunto = [None] * storage_capacity
def addElement(self, intNumber): #add an element to the list
self.conjunto.append(intNumber)
def union(self, instanceOfConjuntoDeInteiros): #returns the union of an instance list with another instance list
return self.conjunto instanceOfConjuntoDeInteiros
if __name__ == '__main__':
c1 = ConjuntoDeInteiros()
c2 = ConjuntoDeInteiros()
c1.addElement(10)
c2.addElement(5)
c1.union(c2)
錯誤:回溯(最近一次呼叫):檔案“”,第 15 行,在檔案“”,第 7 行,在 addElement 中 AttributeError:'ConjuntoDeInteiros' 物件沒有屬性 'conjunto'
我究竟做錯了什么???
uj5u.com熱心網友回復:
你的init功能錯了。它必須是__init__,你有_init_。因此,您self.conjunto從未定義過,因此您的錯誤。您也有conjunto和storage_capacity作為 的引數__init__,但在創建ConjuntoDeInteiros().
uj5u.com熱心網友回復:
它向您顯示的錯誤是由于您嘗試添加 class 的實體引起的ConjuntoDeInterios(),如果您想將其他類的串列與當前定義的類連接起來,您需要通過這種方式多載operator on ConjuntoDeInterios():
class ConjuntoDeInteiros:
def __init__(self, conjunto=[None], storage_capacity=100): #initializes a list and its length, default value is 100
self.storage_capacity = storage_capacity
self.conjunto = [None] * storage_capacity
# overload operator ( )
def __add__(self, instanceOfConjuntoDeInteiros): # returns the union of an instance list with another instance list
return self.conjunto instanceOfConjuntoDeInteiros.conjunto
def addElement(self, intNumber): # add an element to the list
self.conjunto.append(intNumber)
if __name__ == '__main__':
c1 = ConjuntoDeInteiros()
c2 = ConjuntoDeInteiros()
c1.addElement(10)
c2.addElement(5)
print(c1 c2)
None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, 10, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, 5
uj5u.com熱心網友回復:
class ConjuntoDeInteiros:
def _init_(self, conjunto, storage_capacity=100): #initializes a list and its length, default value is 100
self.storage_capacity = storage_capacity
self.conjunto = [None] * storage_capacity
您的代碼需要在 self.conjunto 中定義 conjunto。否則它不會識別conjunto。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/363994.html
上一篇:C 在事件偵聽器模式中包含問題
