Tugasan Berantai dalam Python
Dalam Python, tugasan berantai menggunakan sintaks x = y = somefunction() adalah bersamaan dengan y = somefunction( ); x = y. Ini bermakna bahawa nilai yang dikembalikan oleh fungsi pertama kali diberikan kepada sasaran paling kiri, dan kemudian nilai yang sama diberikan kepada sasaran berikutnya.
Walau bagaimanapun, salah tanggapan yang biasa ialah tugasan berantai seperti x = y = somefunction() adalah bersamaan dengan x = somefunction(); y = beberapa fungsi(). Ini tidak berlaku.
Penilaian Kiri-ke-Kanan
Kunci untuk memahami tugasan berantai ialah mengingati bahawa Python menilai ungkapan dan pernyataan dari kiri ke kanan. Ini bermakna bahawa dalam ungkapan x = y = somefunction(), langkah-langkah berikut berlaku:
Akibatnya, x dan y akhirnya merujuk kepada objek yang sama.
Implikasi
Penilaian kiri ke kanan ini boleh mempunyai implikasi penting. Contohnya, jika somefunction() mengembalikan objek boleh ubah seperti senarai, menetapkan kepada salah satu sasaran akan menjejaskan semua sasaran lain yang merujuk kepada objek yang sama.
Contoh:
Pertimbangkan kod berikut:
<code class="python">x = y = [] x.append(1) print(x, y)</code>
Keluaran kod di atas ialah [1, 1] kerana x dan y merujuk kepada objek senarai yang sama. Sebarang perubahan yang dibuat pada salah satu sasaran akan ditunjukkan dalam sasaran yang lain.
Kesimpulan
Tugasan berantai dalam Python dinilai dari kiri ke kanan, menghasilkan perkara yang sama objek yang diberikan kepada semua sasaran. Ini boleh mempunyai implikasi penting apabila berurusan dengan objek boleh ubah, kerana perubahan pada satu sasaran boleh menjejaskan semua rujukan kepada objek yang sama.
Atas ialah kandungan terperinci Bagaimanakah Tugasan Berantai berfungsi dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!