จุลภาคเพื่อเพิ่มประสิทธิภาพตัวแปร Python
Sep 09 2020
ฉันมีคำถามเกี่ยวกับวิธีการจัดรูปแบบรหัส python
(q, a), b = divmod(b, a), a
y0, y1 = y1, y0 - q * y1
สำหรับสิ่งที่กล่าวมาข้างต้นเครื่องหมายจุลภาคเพื่อแสดงตัวแปรทำงานอย่างไร ใครสามารถแสดงให้เห็นว่าโค้ดนี้จะมีลักษณะอย่างไรโดยไม่ต้องใช้เครื่องหมายจุลภาคระหว่าง y0 และ y1 หรือ (q, a) ฉันรู้ว่ามันต้องมีวิธีเพิ่มประสิทธิภาพโค้ด
คำตอบ
1 YannickFunk Sep 09 2020 at 21:29
ใช้จุลภาคในการแบ่งกลุ่มสำหรับการสร้างทูเปิลทางด้านขวาและการเปิดกล่องทางด้านซ้ายเช่น:
x, y = 1, 3
ซึ่งเทียบเท่ากับการทำงาน
x = 1
y = 3
หรือตัวอย่างเช่นการเปิดรายการเช่น:
example_list = [1, 4, 5]
x, y, z = example_list
ซึ่งเทียบเท่ากับการทำงาน:
x = example_list[0]
y = example_list[1]
z = example_list[2]
ดังนั้นรหัสของคุณที่ไม่มี "จุลภาค" จะเป็น:
(q, a) = divmod(b, a) # unpacking
b = a
old_y0 = y0
y0 = y1
y1 = old_y0 - q * y1
เหตุผลนี้ส่วนใหญ่convenienceไม่ใช่การเพิ่มประสิทธิภาพของโค้ด