Memahami Ungkapan Tugasan dalam Python 3.8
Sejak Python 3.8, pengendali "walrus" (:=) telah memperkenalkan ungkapan tugasan kepada bahasa tersebut. Ciri baharu ini membolehkan pengaturcara menetapkan nilai dalam kefahaman dan fungsi lambda, yang sebelum ini dihadkan kepada tugasan biasa.
Rasional untuk Ungkapan Tugasan
Motivasi utama di sebalik ungkapan tugasan adalah untuk membolehkan lebih ringkas dan kod yang cekap dalam senario di mana tugasan tradisional tidak disokong. Contohnya, ungkapan tugasan memudahkan:
-
Pemerolehan Nilai Bersyarat: Nilai bersyarat boleh diperoleh dengan lebih ringkas, seperti yang ditunjukkan oleh contoh penyahpepijatan interaktif yang disediakan dalam dokumentasi Python.
-
Pemahaman Senarai Ringkas: Pemahaman senarai kompleks boleh dipermudahkan dengan memberikan nilai perantaraan kepada pembolehubah dalam pemahaman, menjadikan kod lebih mudah dibaca dan diurus.
Sintaksis, Semantik, dan Tatabahasa
Ungkapan tugasan mengikut sintaks tertentu: name := expr, dengan nama ialah pengecam dan expr ialah sebarang ungkapan Python yang sah. Nilai ungkapan tugasan adalah sama dengan ungkapan expr, tetapi kesan sampingan tambahan memberikan nilai kepada nama sasaran.
Ungkapan tugasan berbeza daripada pernyataan tugasan biasa dalam beberapa aspek utama:
- Ia adalah ungkapan, bukan pernyataan dan oleh itu boleh muncul dalam konteks di mana ungkapan dijangka.
- Ia mempunyai susunan penilaian yang berbeza (kanan ke kiri) dan keutamaan yang berbeza berbanding dengan tugasan biasa.
- Mereka tidak menyokong berbilang sasaran, penetapan kepada nama bukan tunggal, pembungkusan/pembongkaran boleh lelar, anotasi jenis sebaris atau operasi penugasan tambahan.
Sebab Pengenalan Ungkapan Tugasan
Walaupun PEP 379 telah ditarik balik, yang mencadangkan konsep yang sama, PEP 572 memperkenalkan ungkapan tugasan kepada Python atas beberapa sebab:
- Untuk meningkatkan kebolehbacaan dan kebolehselenggaraan kod, terutamanya dalam pemahaman dan lambdas.
- Untuk mendayakan penyahpepijatan interaktif tanpa memerlukan pemfaktoran semula kod.
- Untuk menyediakan cara yang lebih cekap untuk memberikan nilai bersyarat dan memudahkan pemahaman senarai.
- Untuk menyelaraskan sintaks Python dengan bahasa pengaturcaraan moden lain yang menyokong ungkapan tugasan.
Atas ialah kandungan terperinci Apakah Ungkapan Tugasan dan Mengapa Ia Diperkenalkan kepada Python 3.8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!