Petua Pengaturcaraan

10 Petua Terbaik dan Berguna Untuk Mempercepat Kod Python Anda

10 Petua Terbaik dan Berguna Untuk Mempercepat Kod Python Anda

Sekiranya seseorang bertanya kepada anda - “Apa bahasa pengaturcaraan yang paling cepat berkembang di dunia sekarang?”Jawapannya akan mudah. Pythonnya. Populariti di seluruh dunia disebabkan oleh sintaks dan perpustakaannya yang ringkas. Pada masa kini, anda hampir boleh melakukan apa sahaja dengan ular sawa: Sains data, pembelajaran mesin, pemprosesan isyarat, visualisasi data - anda namakan. Walau bagaimanapun, banyak orang mendakwa bahawa python agak lambat semasa menyelesaikan masalah serius. Tetapi masa untuk melaksanakan program bergantung pada kod yang ditulis seseorang. Dengan beberapa petua dan trik, seseorang dapat mempercepat kod Python dan meningkatkan prestasi program.

Petua dan Cara untuk Mempercepat Kod Python


Sekiranya anda mencari cara untuk mempercepat kod python anda, artikel itu sesuai untuk anda. Ini menggambarkan teknik dan strategi untuk mengurangkan masa pelaksanaan sesuatu program. Petua bukan sahaja mempercepat kod, tetapi juga meningkatkan kemahiran python.

01. Gunakan Perpustakaan dan Fungsi terbina dalam


Python mempunyai banyak fungsi dan modul perpustakaan. Ia ditulis oleh pembangun pakar dan telah diuji beberapa kali. Jadi, fungsi-fungsi ini sangat efisien dan membantu mempercepat kod-tidak perlu menulis kod jika fungsi tersebut sudah tersedia di perpustakaan. Kami mengambil contoh mudah dalam hal ini.

# code1 newlist = [] untuk kata dalam senarai lama: senarai baru.tambahkan (kata.atas ())
# code2 newlist = peta (str.atas, senarai lama)

Di sini kod kedua lebih cepat daripada kod pertama kerana peta fungsi perpustakaan () telah digunakan. Fungsi ini berguna untuk pemula. Siapa yang tidak mahu lebih cepat serta kod yang bersih dan lebih kecil untuk ditulis? Oleh itu, gunakan fungsi dan modul perpustakaan sebanyak mungkin.

02. Struktur Data Yang Tepat di Tempat Yang Betul


Menggunakan struktur data yang betul akan mengurangkan masa berjalan. Sebelum memulakan, anda harus memikirkan struktur data yang akan digunakan dalam kod tersebut. Struktur data yang sempurna akan mempercepat kod python sementara yang lain akan merosakkannya. Anda mesti mempunyai idea mengenai kerumitan masa struktur data yang berbeza.

Python mempunyai struktur data terbina dalam seperti senarai, tuple, set, dan kamus. Orang terbiasa menggunakan senarai. Tetapi ada beberapa kes di mana tuple atau kamus berfungsi lebih baik daripada senarai. Untuk mengetahui lebih banyak struktur dan algoritma data, anda harus membaca buku pembelajaran Python.

03. Try untuk Meminimumkan Penggunaan untuk Gelung


Agak sukar untuk mengelakkan penggunaan untuk gelung. Tetapi setiap kali anda berpeluang untuk mencegahnya, para pakar mengatakan bahawa anda melakukannya. Untuk gelung adalah dinamik dalam python. Waktu lariannya lebih daripada sekejap. Bersarang untuk gelung jauh lebih memakan masa. Dua bersarang untuk gelung akan mengambil titik masa dalam satu untuk gelung.

# code1 untuk i in big_it: m = re.cari (r '\ d 2 - \ d 2 - \ d 4', i) jika m:… 
# code2 date_regex = semula.menyusun (r '\ d 2 - \ d 2 - \ d 4') untuk i in big_it: m = date_regex.cari (i) jika m:… 

Lebih baik menggunakan pengganti yang sesuai dalam kes ini. Lebih-lebih lagi jika untuk gelung tidak dapat dielakkan, gerakkan pengiraan di luar gelung. Ia akan menjimatkan banyak masa. Kita dapat melihatnya dalam contoh yang diberikan di atas. Di sini kod ke-2 lebih cepat daripada kod ke-1 kerana pengiraan telah dilakukan di luar gelung.

04. Elakkan Pembolehubah Global


Pemboleh ubah global digunakan dalam ular sawa dalam banyak kes. Kata kunci global digunakan untuk menyatakannya. Tetapi jangka masa pemboleh ubah ini lebih banyak daripada pemboleh ubah tempatan. Menggunakan lebih sedikit dari mereka menjimatkan dari penggunaan memori yang tidak perlu. Selain itu, Python mencari pemboleh ubah tempatan lebih cepat daripada yang global. Semasa menavigasi pemboleh ubah luaran, Python benar-benar lembap.

Beberapa bahasa pengaturcaraan lain menentang penggunaan pemboleh ubah global yang tidak dirancang. Kaunter disebabkan oleh kesan sampingan yang menyebabkan jangka masa yang lebih tinggi. Oleh itu, cubalah menggunakan pemboleh ubah tempatan dan bukannya global apabila boleh. Lebih-lebih lagi, anda boleh membuat salinan tempatan sebelum menggunakannya dalam satu gelung, menjimatkan masa.

05. Tingkatkan Penggunaan Pemahaman Senarai


Pemahaman senarai menawarkan sintaksis yang lebih pendek. Terdapat segelintir apabila senarai baru dibuat berdasarkan senarai yang ada. Gelung adalah mustahak dalam kod apa pun. Kadang kala sintaks di dalam gelung menjadi besar. Dalam kes itu, seseorang boleh menggunakan pemahaman senarai. Kita boleh mengambil contoh untuk memahaminya dengan lebih tepat.

# code1 square_numbers = [] untuk n dalam julat (0,20): jika n% 2 == 1: square_numbers.tambahkan (n ** 2)
# code2 square_numbers = [n ** 2 untuk n dalam julat (1,20) jika n% 2 == 1]

Di sini, kod kedua memerlukan lebih sedikit masa daripada kod pertama. Pendekatan untuk memahami senarai lebih pendek dan tepat. Mungkin tidak banyak perbezaan dalam kod kecil. Tetapi dalam perkembangan yang luas, ia dapat menjimatkan masa. Jadi, gunakan pemahaman senarai setiap kali anda berpeluang mempercepat kod Python anda.

06. Ganti julat () dengan xrange ()


Masalah julat () dan xrange () datang jika anda menggunakan ular sawa 2. Fungsi-fungsi ini digunakan untuk mengulangi apa sahaja untuk loop. Dalam julat (), ia menyimpan semua nombor dalam julat dalam memori. Tetapi xrange () hanya menyimpan julat nombor yang perlu ditunjukkan.

Jenis pengembalian julat () adalah senarai, dan xrange () adalah objek. Akhirnya, xrange () memerlukan lebih sedikit memori dan, sebagai hasilnya, lebih sedikit masa. Jadi, gunakan xrange () dan bukannya range () bila boleh. Sudah tentu, ini hanya berlaku untuk pengguna python 2.

07. Gunakan Penjana


Di python, generator adalah fungsi yang mengembalikan iterator ketika kata kunci hasil dipanggil. Penjana adalah pengoptimum memori yang sangat baik. Mereka mengembalikan satu item pada satu masa dan bukannya mengembalikan semuanya pada satu masa. Sekiranya senarai anda merangkumi sejumlah besar data dan anda perlu menggunakan satu data pada satu masa, gunakan penjana.

Penjana mengira data dalam bentuk kepingan. Oleh itu, fungsi dapat mengembalikan hasilnya apabila dipanggil dan mengekalkan keadaannya. Penjana mengekalkan keadaan fungsi dengan menghentikan kod setelah pemanggil menghasilkan nilai, dan terus berjalan dari tempat ia ditinggalkan atas permintaan.

Oleh kerana penjana mengakses dan menghitung nilai atas permintaan, sebilangan besar data tidak perlu disimpan sepenuhnya dalam memori. Ini menghasilkan penjimatan memori yang besar, akhirnya mempercepat kodnya.

08. Gabungan Rentetan dengan Gabung


Gabungan adalah perkara biasa ketika bekerja dengan tali. Secara amnya, di python, kita bergabung menggunakan '+'. Namun, dalam setiap langkah, operasi "+" membuat rentetan baru dan menyalin bahan lama. Proses ini tidak cekap dan memerlukan banyak masa. Kita harus menggunakan join () untuk menggabungkan rentetan di sini jika kita ingin mempercepat kod Python kita.

# code1 x = "I" + "am" + "a" + "python" + "geek" cetakan (x)
# kod2 x = "".sertai (["I", "am", "a", "python", "geek"]) cetak (x)

Sekiranya kita melihat contohnya, kod pertama mencetak "Iamapythongeek" dan kod kedua mencetak "Saya python geek".  Operasi bergabung () lebih cekap dan lebih pantas daripada '+'. Ia juga menjaga kodnya bersih. Siapa yang tidak mahukan kod yang lebih cepat dan bersih? Oleh itu, cuba gunakan join () dan bukannya '+' untuk menggabungkan rentetan.

09. Profil Kod Anda


Profil adalah cara klasik mengoptimumkan kod. Terdapat banyak modul untuk mengukur statistik program. Ini membuat kita tahu di mana program menghabiskan banyak masa dan apa yang harus dilakukan untuk mengoptimumkannya. Jadi, untuk memastikan pengoptimuman, lakukan beberapa ujian, dan tingkatkan program untuk meningkatkan keberkesanan.

Pemasa adalah salah satu profiler. Anda boleh menggunakannya di mana sahaja dalam kod dan mencari jangka masa setiap peringkat. Maka kita dapat memperbaiki program di mana ia memerlukan masa yang terlalu lama. Lebih-lebih lagi, terdapat modul profiler terbina dalam yang disebut LineProfiler. Ini juga memberikan laporan deskriptif mengenai masa yang dihabiskan. Terdapat beberapa profiler yang boleh anda pelajari dengan membaca buku python.

10. Terus Dikemas kini - Gunakan Versi Terbaru Python


Terdapat beribu-ribu pembangun yang menambahkan lebih banyak ciri ke python secara berkala. Modul dan fungsi perpustakaan yang kita gunakan hari ini akan ketinggalan zaman dengan perkembangannya esok. Pembangun Python menjadikan bahasa lebih pantas dan lebih dipercayai dari hari ke hari. Setiap keluaran baru telah meningkatkan prestasinya.

Oleh itu, kita perlu mengemas kini perpustakaan ke versi terbarunya. Python 3.9 adalah versi terkini sekarang. Banyak perpustakaan python 2 mungkin tidak berjalan di python3. Mari ingat itu dan selalu gunakan versi terkini untuk mendapatkan prestasi maksimum.

Akhirnya, Wawasan


Nilai pemaju Python di dunia semakin meningkat dari hari ke hari. Jadi, tunggu apa lagi! Sudah tiba masanya anda mula belajar mempercepat kod python. Petua dan trik yang kami berikan pasti dapat membantu anda menulis kod yang cekap. Sekiranya anda mengikutinya, kami harap anda dapat memperbaiki kod anda dan memasuki perkara python yang lebih maju.

Kami telah mencuba untuk menunjukkan semua helah dan petua utama yang diperlukan dalam mempercepat kod. Kami harap artikel itu menjawab sebahagian besar soalan anda. Sekarang, selebihnya ada pada anda. Walau bagaimanapun, tidak ada akhir pengetahuan dan tiada akhir belajar. Oleh itu, sekiranya kita terlepas sesuatu yang penting, beritahu kami. Selamat belajar!

Cara Memasang League Of Legends di Ubuntu 14.04
Sekiranya anda peminat League of Legends, maka ini adalah peluang bagi anda untuk menguji menjalankan League of Legends. Perhatikan bahawa LOL disokon...
Pasang permainan Strategi OpenRA terkini di Ubuntu Linux
OpenRA adalah mesin permainan Strategi Masa Nyata / Bebas yang mencipta semula permainan Westwood awal seperti Command & Conquer klasik: Makluman Mera...
Pasang Dolphin Emulator terkini untuk Gamecube & Wii di Linux
Dolphin Emulator membolehkan anda memainkan permainan Gamecube & Wii pilihan anda di Komputer Peribadi Linux (PC). Menjadi emulator permainan sumber ...