Tugasan berantai dalam Python, di mana berbilang pembolehubah ditugaskan kepada nilai yang sama dalam satu baris, telah menimbulkan persoalan tentang kelakuannya dan hubungan antara tugasan berantai yang berbeza. Artikel ini bertujuan untuk memberi penerangan tentang konsep ini.
Pertimbangkan tugasan berantai:
x = y = somefunction()
Ini bersamaan dengan tugasan berasingan berikut:
temp = somefunction() x = temp y = temp
Adalah penting untuk ambil perhatian bahawa sasaran paling kiri ditetapkan dahulu. Ini bermakna nilai yang dikembalikan oleh somefunction() diberikan kepada pembolehubah di hujung paling kiri tugasan berantai, dan kemudian nilai itu ditetapkan semula kepada pembolehubah yang tinggal.
Apabila memberikan objek boleh ubah (cth., senarai, kamus) menggunakan tugasan berantai, berhati-hati diperlukan. Pertimbangkan perkara berikut:
x = y = [] # Wrong x.append(1) print(y) # Prints [1]
Dalam kes ini, x dan y merujuk kepada senarai yang sama. Melampirkan pada x juga mempengaruhi y kerana ia adalah alias kepada objek asas yang sama.
Untuk mencipta pembolehubah yang berasingan dan berbeza, adalah lebih baik untuk menetapkan setiap pembolehubah kepada nilainya sendiri:
x = [] # Right y = [] # Right
Kini, x dan y ialah dua senarai kosong yang berasingan.
Atas ialah kandungan terperinci Berikut ialah beberapa pilihan tajuk yang berasaskan soalan, berkaitan dengan kandungan artikel dan dalam bahasa Inggeris: * Tugasan Berantai dalam Python: Bagaimana Ia Berfungsi? * Adakah Tugasan Berantai Sentiasa Selamat masuk. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!