Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Tugasan Berbilang Python Berbeza daripada Tugasan Berjujukan?

Bagaimanakah Tugasan Berbilang Python Berbeza daripada Tugasan Berjujukan?

DDD
Lepaskan: 2024-12-05 02:26:09
asal
321 orang telah melayarinya

How Does Python's Multiple Assignment Differ from Sequential Assignment?

Misteri Tugasan Berbilang dalam Python

Dalam Python, tugasan boleh dinilai dengan cara yang mungkin tidak dapat dilihat dengan segera. Satu kes sedemikian ialah berbilang tugasan, di mana dua atau lebih pembolehubah diberikan nilai secara serentak.

Pertimbangkan perkara berikut:

>>> x = 1
>>> y = 2
Salin selepas log masuk

Sekarang, mari cuba untuk menetapkan kedua-dua nilai sekaligus:

>>> x, y = y, x + y
>>> x
2
>>> y
3
Salin selepas log masuk

Tanpa diduga, ini menghasilkan hasil yang berbeza berbanding dengan memberikan nilai secara berasingan:

>>> x = 1
>>> y = 2
>>> x = y
>>> y = x + y
>>> x
2
>>> y
4
Salin selepas log masuk

Penjelasan

Kunci untuk memahami tingkah laku ini terletak pada susunan penilaian dalam pernyataan tugasan. Dalam Python, sebelah kanan tugasan sentiasa dinilai sepenuhnya sebelum tetapan pembolehubah sebenar.

Dalam kes pertama, "x, y = y, x y", sebelah kanan menilai sebagai berikut:

  • y dinilai kepada ham.
  • x y dinilai kepada spam.

Pembolehubah kemudiannya ditetapkan kepada nilai ini: x diberikan ham dan y diberikan spam.

Sebaliknya, dalam kes kedua, "x = y; y = x y", tugasan berlaku secara berurutan: x ditetapkan kepada y, dan kemudian y ditetapkan kepada x y, yang bersamaan dengan y y.

Oleh itu, tugasan berbilang dalam kes pertama berkelakuan berbeza kerana nilai dinilai dan ditetapkan serentak. Jika anda ingin melaksanakan tugasan berasingan, anda harus menggunakan pendekatan berurutan yang kedua.

Atas ialah kandungan terperinci Bagaimanakah Tugasan Berbilang Python Berbeza daripada Tugasan Berjujukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan