Python terkenal dengan kesederhanaan dan kebolehbacaannya, selalunya diringkaskan dengan istilah "Pythonic." Tetapi apakah maksud sebenarnya menulis kod Pythonic?
Istilah "Pythonic" merujuk kepada kod yang mengikut gaya yang digalakkan oleh komuniti Python. Kod Pythonic memanfaatkan kekuatan bahasa dan menekankan kebolehbacaan, kesederhanaan dan keanggunan. Cara terbaik untuk memahami apa itu Pythonic ialah membaca The Zen of Python (PEP 20), koleksi prinsip panduan yang menangkap intipati falsafah reka bentuk Python.
Berikut ialah beberapa prinsip utama daripada The Zen of Python:
Mari kita mendalami beberapa petua praktikal untuk menulis kod Pythonic.
Python datang dengan set kaya dengan fungsi terbina dalam yang boleh menjadikan kod anda lebih ringkas dan ekspresif. Fungsi seperti sum(), any(), all(), dan sorted() selalunya boleh menggantikan lebih banyak kod verbose, menjadikan niat anda lebih jelas.
# Non-Pythonic total = 0 for i in range(10): total += i # Pythonic total = sum(range(10))
Menggunakan sum() di sini bukan sahaja menjadikan kod lebih pendek tetapi juga lebih mudah dibaca.
Begitu juga, sebarang() boleh digunakan untuk memudahkan semakan bersyarat merentas koleksi.
# Non-Pythonic found = False for item in items: if item > 10: found = True break # Pythonic found = any(item > 10 for item in items)
Dalam contoh ini, any() digunakan untuk menyatakan niat secara langsung, menjadikan kod lebih Pythonic.
Mengurus sumber seperti fail dan sambungan rangkaian boleh dilakukan dengan pernyataan Python. Ia memudahkan pengendalian dengan sumber dengan mengendalikan persediaan dan pembongkaran secara automatik.
# Non-Pythonic file = open('example.txt', 'r') try: content = file.read() finally: file.close() # Pythonic with open('example.txt', 'r') as file: content = file.read()
Pernyataan with menjadikan kod anda lebih bersih dan lebih dipercayai dengan menghapuskan keperluan untuk pembersihan eksplisit.
Python mempunyai struktur data yang berkuasa seperti senarai, set, kamus dan tuple. Memilih struktur data yang betul untuk tugas yang sedang dijalankan boleh menjadikan kod anda lebih cekap dan ekspresif.
# Non-Pythonic items = [1, 2, 3, 4] if 3 in items: print("Found") # Pythonic items = {1, 2, 3, 4} if 3 in items: print("Found")
Set sesuai untuk ujian keahlian, menjadikan operasi lebih pantas dan kod lebih intuitif.
Apabila anda perlu mengulangi jujukan dan memerlukan kedua-dua indeks dan nilai, gunakan enumerate() dan bukannya mengekalkan pembilang secara manual. Begitu juga, apabila menggelung pada dua jujukan, gunakan zip():
# Non-Pythonic for i in range(len(items)): print(i, items[i]) # Pythonic for i, item in enumerate(items): print(i, item) # Non-Pythonic for i in range(len(list1)): print(list1[i], list2[i]) # Pythonic for item1, item2 in zip(list1, list2): print(item1, item2)
Fungsi terbina dalam ini meningkatkan kebolehbacaan dan prestasi gelung anda.
PEP 8 ialah panduan gaya rasmi untuk kod Python. Ia merangkumi segala-galanya daripada konvensyen penamaan kepada panjang baris.
Beberapa perkara penting daripada PEP 8 termasuk:
Mematuhi garis panduan ini akan menjadikan kod anda lebih mudah didekati oleh orang lain dan membantu anda mengelakkan perangkap biasa.
Menulis kod Pythonic bermakna lebih daripada sekadar membuat kod anda dijalankan. Ini tentang menjadikan kod anda elegan, cekap dan mudah difahami.
Berusaha untuk menulis kod yang secantik ia hebat. Ingat, Python adalah tentang menjadikan kompleks itu ringkas dan ringkas itu cantik.
Selamat pengekodan! ?
Atas ialah kandungan terperinci Kod Pythonic: Menulis Python yang Bersih dan Cekap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!