Mengoptimumkan Kod Anda dengan Operator Walrus Python: Contoh Dunia Sebenar dan Anti-Corak untuk Dielakkan

WBOY
Lepaskan: 2024-08-18 06:01:32
asal
457 orang telah melayarinya

Optimizing Your Code with Python

Pengenalan:
Pengendali walrus, yang diperkenalkan dalam Python 3.8, ialah alat yang berguna untuk pembangun untuk memudahkan dan mengoptimumkan kod mereka. Ia membenarkan penugasan pembolehubah dalam ungkapan, menjadikannya pendekatan yang lebih ringkas dan cekap untuk pengaturcaraan. Walau bagaimanapun, seperti mana-mana alat, ia harus digunakan secara sederhana dan dengan pertimbangan yang baik. Dalam tutorial ini, kami akan meneroka contoh dunia sebenar penggunaan operator walrus dan menyerlahkan beberapa anti-corak untuk dielakkan.

Contoh Penggunaan Operator Walrus di Dunia Sebenar:
1. Mempermudahkan Pernyataan Bersyarat
Salah satu kes penggunaan yang paling biasa untuk pengendali walrus adalah untuk memudahkan pernyataan bersyarat. Katakan kita mempunyai fungsi yang mengembalikan panjang rentetan dan kita ingin menyemak sama ada panjangnya lebih besar daripada 10. Menggunakan pengendali walrus, kita boleh menetapkan panjang berubah terus dalam pernyataan bersyarat, menjimatkan baris kod.

Contoh pernyataan bersyarat tanpa pengendali walrus

panjang = len(tali)
jika panjang > 10:
print("String lebih panjang daripada 10 aksara.")

Contoh menggunakan operator walrus

jika (panjang := len(rentetan)) > 10:
print("String lebih panjang daripada 10 aksara.")

2. Mengelakkan Panggilan Fungsi Berulang
Dalam sesetengah kes, menggunakan operator walrus boleh meningkatkan prestasi kod kami dengan mengelakkan panggilan fungsi berulang. Dalam contoh berikut, kami ingin mengira gred purata pelajar, tetapi kita juga perlu menyemak sama ada pelajar itu telah lulus kelas. Tanpa pengendali walrus, kita perlu memanggil fungsi itu dua kali, tetapi dengan itu, kita boleh menetapkan hasil fungsi kepada pembolehubah dan menggunakannya dalam kedua-dua pernyataan bersyarat dan pengiraan.

Contoh tanpa pengendali walrus

gred1 = mengira_gred(pelajar, ujian1)
gred2 = mengira_gred(pelajar, ujian2)
jika (gred1 + gred2) / 2 >= 70:
print("Pelajar telah lulus kelas.")

jika ((gred1 := gred_kira(pelajar, ujian1)) + (gred2:= gred_kira(pelajar, ujian2))) / 2 >= 70:
print("Pelajar telah lulus kelas.")

3. Memudahkan Pemahaman Senarai
Pemahaman senarai ialah alat yang berkuasa untuk memanipulasi dan menapis data dalam senarai. Walau bagaimanapun, pemahaman senarai yang kompleks boleh menjadi sukar untuk dibaca dan dikekalkan. Menggunakan pengendali walrus boleh memudahkan pemahaman ini dengan membenarkan kami menetapkan pembolehubah dalam ungkapan.

Contoh pemahaman senarai tanpa pengendali walrus

hasil = [untung_kira(jualan, kos) untuk jualan, kos dalam data_jualan jika untung_kira(jualan, kos) > 50]

Contoh menggunakan operator walrus

hasil = [(keuntungan := kira_keuntungan(jualan, kos)) untuk jualan, kos dalam data_jualan jika untung > 50]

Anti-Corak: Cara Tidak Menggunakan Operator Walrus:
1. Pemahaman Senarai Kompleks
Walaupun pengendali walrus boleh memudahkan pemahaman senarai, penggunaan yang berlebihan boleh membawa kepada kod yang rumit dan tidak boleh dibaca. Dalam anti-corak ini, kami melihat pemahaman senarai dengan berbilang syarat dan tugasan bersarang. Ini boleh menjadi sukar untuk dibaca dan diselenggara, dan lebih baik pecahkan logik kepada langkah yang berasingan.

Contoh pemahaman senarai yang tidak kemas dengan pengendali walrus bersarang

data_jualan = [(100, 70), (200, 150), (150, 100), (300, 200)]
keputusan = [(jualan, kos, keuntungan, nisbah_jualan) untuk jualan, kos dalam data_jualan jika (keuntungan := kira_keuntungan(jualan, kos)) > 50
jika (nisbah_jualan := jualan / kos) > 1.5 jika (margin_keuntungan := (keuntungan / jualan)) > 0.2]

2. Operator Walrus Bersarang
Menggunakan operator walrus bersarang boleh menghasilkan kod yang sukar dibaca dan difahami. Dalam contoh ini, kita melihat pengendali bersarang dalam satu ungkapan, menjadikannya mencabar untuk membongkar logik dan memahami kod. Adalah lebih baik untuk memecahkan logik kepada beberapa baris untuk kebolehbacaan dan kebolehselenggaraan yang lebih baik.

Contoh pengendali walrus bersarang

nilai = [5, 15, 25, 35, 45]
ambang = 20
keputusan = []
untuk nilai dalam nilai:
if (above_threshold := value > threshold) dan (incremented := (new_value := value + 10) > 30):
results.append(new_value)
cetak(hasil)

Kesimpulan:
Pengendali walrus ialah alat yang berkuasa untuk memudahkan dan mengoptimumkan kod, tetapi ia harus digunakan dengan berhati-hati. Dengan memahami keupayaan dan hadnya, kami boleh menggunakannya dengan berkesan dalam kod kami dan mengelakkan anti-corak biasa.

Ujian Amalan Pensijilan Python MyExamCloud ialah alat yang berguna untuk mereka yang bersedia untuk sebarang pensijilan Python.

Atas ialah kandungan terperinci Mengoptimumkan Kod Anda dengan Operator Walrus Python: Contoh Dunia Sebenar dan Anti-Corak untuk Dielakkan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!