2 回答

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊
該行將bytearray2 = bytearray()
創(chuàng)建一個(gè)空字節(jié)數(shù)組。
當(dāng)您使用bytearray1[:] = bytearray2
它分配時(shí),會(huì)將 bytearray2 的值(即什么都沒(méi)有)復(fù)制到 bytearray1。
這在我的機(jī)器上完美運(yùn)行,并給我留下了 2 個(gè)空字節(jié)數(shù)組。
你期待會(huì)發(fā)生什么?
關(guān)于你的第二個(gè)問(wèn)題:
b = bytearray() b = bytearray(100)
將首先創(chuàng)建一個(gè)空字節(jié)數(shù)組,然后創(chuàng)建一個(gè)長(zhǎng)度為 100 的字節(jié)數(shù)組,初始化為 0。它可能是也可能不是同一個(gè)對(duì)象,但由于 python 缺少指針,它具有預(yù)期的效果。

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊
python適用于引用我不確定你想要做什么,如果這是最好的方法:)也許你應(yīng)該發(fā)布你的一些代碼。
無(wú)論您尋求的答案可能是深拷貝。如果你想走這條路,我會(huì)檢查復(fù)制和深度復(fù)制以確定你在做什么。 https://docs.python.org/3.6/library/copy.html
添加回答
舉報(bào)