Koma untuk mengoptimalkan Variabel Python

Sep 09 2020

Saya punya pertanyaan tentang bagaimana kode python dapat diformat.

 (q, a), b = divmod(b, a), a
        y0, y1 = y1, y0 - q * y1

Untuk sesuatu seperti di atas, bagaimana cara kerja koma untuk menunjukkan variabel? Bisakah seseorang menunjukkan bagaimana kode ini akan terlihat tanpa menggunakan koma antara y0 dan y1, atau (q, a)? Saya tahu ini pasti semacam cara untuk mengoptimalkan kode.

Jawaban

1 YannickFunk Sep 09 2020 at 21:29

Koma pada penetapan digunakan untuk pembuatan tupel di sisi kanan dan membongkar di sisi kiri , misalnya:

x, y = 1, 3

Yang secara fungsional setara dengan

x = 1
y = 3

Atau misalnya daftar membongkar , misalnya:

example_list = [1, 4, 5]
x, y, z = example_list

Yang secara fungsional setara dengan:

x = example_list[0]
y = example_list[1]
z = example_list[2]

Jadi kode Anda tanpa "koma" adalah:

(q, a) = divmod(b, a) # unpacking
b = a
old_y0 = y0
y0 = y1
y1 = old_y0 - q * y1

Alasan untuk ini sebagian besar adalah conveniencedan bukan karena pengoptimalan kode.