Dalam Python, operator = digunakan untuk memberikan nilai kepada pembolehubah.
a = 100
b = 200
print(a)
# 100
print(b)
# 200
Seperti dalam contoh di atas, anda boleh menetapkan nilai kepada berbilang pembolehubah sekaligus dan bukannya satu demi satu, yang mudah kerana ia memerlukan hanya satu baris kod ringkas untuk menulis.
Dua kes berikut diterangkan.
- Berikan berbilang nilai kepada berbilang pembolehubah
- Berikan nilai yang sama kepada berbilang pembolehubah
Berikan berbilang nilai kepada berbilang pembolehubah
Berbilang nilai boleh diberikan kepada berbilang pembolehubah secara serentak dengan memisahkan pembolehubah dan nilai dengan koma.
a, b = 100, 200
print(a)
# 100
print(b)
# 200
Tiga atau lebih pembolehubah, setiap satu daripada jenis yang berbeza, boleh diterima.
a, b, c = 0.1, 100, 'string'
print(a)
# 0.1
print(b)
# 100
print(c)
# string
Jika terdapat satu pembolehubah di sebelah kiri, ia ditetapkan sebagai tupel.
a = 100, 200
print(a)
print(type(a))
# (100, 200)
# <class 'tuple'>
Jika bilangan pembolehubah di sebelah kiri tidak sepadan dengan bilangan nilai di sebelah kanan, ralat ValueError akan terhasil, tetapi selebihnya boleh ditetapkan sebagai senarai dengan menambahkan asterisk pada pembolehubah.
# a, b = 100, 200, 300
# ValueError: too many values to unpack (expected 2)
# a, b, c = 100, 200
# ValueError: not enough values to unpack (expected 3, got 2)
a, *b = 100, 200, 300
print(a)
print(type(a))
# 100
# <class 'int'>
print(b)
print(type(b))
# [200, 300]
# <class 'list'>
*a, b = 100, 200, 300
print(a)
print(type(a))
# [100, 200]
# <class 'list'>
print(b)
print(type(b))
# 300
# <class 'int'>
Untuk mendapatkan maklumat lanjut tentang asterisk dan cara menetapkan elemen tuple atau senarai kepada berbilang pembolehubah, lihat artikel berikut.
- BERKAITAN:Buka bungkus (kembangkan dan tetapkan kepada berbilang pembolehubah) tupel dan senarai dalam Python
Berikan nilai yang sama kepada berbilang pembolehubah
Nilai yang sama boleh diberikan kepada berbilang pembolehubah dengan menggunakan = berturut-turut. Ini berguna untuk memulakan berbilang pembolehubah kepada nilai yang sama.
a = b = 100
print(a)
# 100
print(b)
# 100
Lebih daripada 3 keping boleh diterima.
a = b = c = 'string'
print(a)
# string
print(b)
# string
print(c)
# string
Selepas memberikan nilai yang sama, nilai lain boleh diberikan kepada salah satu daripadanya.
a = 200
print(a)
# 200
print(b)
# 100
Berhati-hati apabila menetapkan objek boleh ubah seperti senarai dan jenis kamus, dan bukannya objek tidak boleh ubah (tidak boleh ditukar) seperti integer, nombor titik terapung dan rentetan.
Menggunakan = berturut-turut bermakna semua pembolehubah menghala ke objek yang sama, jadi jika anda menukar nilai satu elemen atau menambah elemen baharu, yang lain akan berubah juga.
a = b = [0, 1, 2]
print(a is b)
# True
a[0] = 100
print(a)
# [100, 1, 2]
print(b)
# [100, 1, 2]
Sama seperti di bawah.
b = [0, 1, 2]
a = b
print(a is b)
# True
a[0] = 100
print(a)
# [100, 1, 2]
print(b)
# [100, 1, 2]
Jika anda ingin memprosesnya secara berasingan, hanya berikan kepada setiap satu.
after c = []; d = [], c and d are guaranteed to refer to two different, unique, newly created empty lists. (Note that c = d = [] assigns the same object to both c and d.)
3. Data model — Python 3.10.4 Documentation
a = [0, 1, 2]
b = [0, 1, 2]
print(a is b)
# False
a[0] = 100
print(a)
# [100, 1, 2]
print(b)
# [0, 1, 2]
Terdapat juga kaedah untuk menjana salinan cetek dan dalam dengan copy() dan deepcopy() dalam modul salinan.