Rumah > Soal Jawab > teks badan
迷茫2017-04-18 09:25:15
Anda memanggilnya
b.append(6)
print (a, b)
Anda boleh lihat perbezaannya:
Yang pertama lulus rujukan
Yang terakhir ialah salinan
大家讲道理2017-04-18 09:25:15
b=a
akan menjadikan b
merujuk kepada objek a
a[:]
akan mencipta salinan a, jadi b=a[:]
akan membenarkan b
merujuk kepada salinan ini, iaitu, b
dan a
kini merujuk kepada objek yang berbeza, tetapi ini dua objek adalah sama (tidak sama tetapi setara)
Inilah sebabnya pada zahirnya tidak ada perbezaan antara keduanya, tetapi jika ia adalah yang pertama, jika kita menukar b
atau a
kedua-duanya akan terjejas, kerana merujuk kepada objek yang sama, tetapi yang kedua tidak menjejaskan satu sama lain , kerana kedua-duanya merujuk kepada objek yang berbeza. Contoh @hsfzxjy ialah menunjukkan perkara ini, dan anda boleh mengetahui perbezaannya dengan melakukan eksperimen.
Soalan yang saya jawab: Python-QA
PHP中文网2017-04-18 09:25:15
Python mempunyai fungsi yang dipanggil id yang boleh mendapatkan alamat objek. Ia akan menjadi jelas jika anda mencetaknya. Direct = ialah tugasan rujukan, merujuk kepada objek asal; manakala [:] ialah terbitan semula, yang akan menjana objek baharu
a=[1,2,3,4,5]
b=a
c=a[:]
print id(a),id(b),id(c)