Adakah Koma Mengekor dalam "baris, = ..." Pengendali Koma?
Dalam Python, koma selepas baris berubah mempunyai makna yang signifikan. Ia menunjukkan bahawa satu Tuple sedang dibongkar, dengan setiap elemen ditugaskan kepada pembolehubah yang sepadan di sebelah kiri.
Membuka Tuple dengan Satu Elemen
Pertimbangkan kod berikut:
<code class="python">line, = ax.plot(x, np.sin(x))</code>
Di sini, ax.plot() mengembalikan tuple yang mengandungi satu elemen, iaitu objek Line2D. Koma mengarahkan Python untuk membongkar tuple ini dan menetapkan elemennya kepada baris pembolehubah.
Contoh dengan Pelbagai Pembolehubah
Biasanya, kami menggunakan pembongkaran untuk fungsi dengan berbilang nilai pulangan :
<code class="python">base, ext = os.path.splitext(filename)</code>
Kod ini membongkar tuple yang dikembalikan oleh os.path.splitext() dan memberikan elemennya kepada asas pembolehubah dan ext.
Alternatif kepada Comma Unpacking
Walaupun membongkar koma mudah, terdapat sintaks alternatif:
Menulis Semula Tanpa Membongkar
Anda juga boleh menulis semula kod tanpa menggunakan tuple membongkar:
<code class="python">line = ax.plot(x, np.sin(x))[0]</code>
atau
<code class="python">lines = ax.plot(x, np.sin(x)) def animate(i): lines[0].set_ydata(np.sin(x+i/10.0)) # update the data return lines #Init only required for blitting to give a clean slate. def init(): lines[0].set_ydata(np.ma.array(x, mask=True)) return lines</code>
Kesimpulan
Koma di belakang dalam "baris, = ..." bukan pengendali koma melainkan sintaks untuk membongkar tuple yang mengandungi satu elemen. Teknik ini digunakan secara meluas untuk menetapkan nilai pulangan kepada berbilang pembolehubah secara ringkas.
Atas ialah kandungan terperinci Apakah koma di belakang dalam \'baris, = ...\' dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!