Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Segarkan pengetahuan anda! Saya menggunakan enam tabiat buruk ini yang melambatkan program Python saya sepanjang masa!

Segarkan pengetahuan anda! Saya menggunakan enam tabiat buruk ini yang melambatkan program Python saya sepanjang masa!

WBOY
WBOYke hadapan
2023-04-16 17:40:031438semak imbas

Dalam artikel ini, saya meringkaskan 6 contoh cara menulis Python.

1 Jangan import modul akar

Satu perkara yang tidak boleh kami elakkan apabila menggunakan Python ialah mengimport modul, sama ada modul terbina dalam atau modul pihak ketiga. Kadangkala, kita mungkin hanya memerlukan satu atau beberapa fungsi atau objek daripada modul. Dalam kes ini, kita harus cuba mengimport hanya fungsi atau objek yang kita perlukan dan bukannya mengimport modul akar.

Ini adalah contoh mudah. Katakan kita perlu mengira punca kuasa dua beberapa nombor dalam atur cara.

Contoh yang lebih perlahan

Segarkan pengetahuan anda! Saya menggunakan enam tabiat buruk ini yang melambatkan program Python saya sepanjang masa!

Dalam contoh buruk, kami mengimport modul matematik dan menggunakan math.sqrt() untuk mengakses fungsi tersebut. Sudah tentu, tidak ada yang salah dengannya, tetapi jika kita boleh mengimport fungsi sqrt(), prestasi akan menjadi lebih baik.

Contoh yang lebih pantas

Segarkan pengetahuan anda! Saya menggunakan enam tabiat buruk ini yang melambatkan program Python saya sepanjang masa!Segarkan pengetahuan anda! Saya menggunakan enam tabiat buruk ini yang melambatkan program Python saya sepanjang masa!

2. Elakkan menggunakan rantai titik/titik

Menggunakan titik adalah sangat intuitif. Akses sifat atau fungsi objek dalam Python. Selalunya, tiada masalah. Walau bagaimanapun, jika kita boleh mengelak daripada menggunakan titik atau memautkan titik, prestasi sebenarnya akan menjadi lebih baik.

Contoh di bawah menunjukkan menambahkan nombor pada senarai dan kemudian mengalih keluarnya.

Contoh yang lebih perlahan

Segarkan pengetahuan anda! Saya menggunakan enam tabiat buruk ini yang melambatkan program Python saya sepanjang masa!Segarkan pengetahuan anda! Saya menggunakan enam tabiat buruk ini yang melambatkan program Python saya sepanjang masa!

Contoh yang lebih pantas

Segarkan pengetahuan anda! Saya menggunakan enam tabiat buruk ini yang melambatkan program Python saya sepanjang masa!Segarkan pengetahuan anda! Saya menggunakan enam tabiat buruk ini yang melambatkan program Python saya sepanjang masa!

Jika anda tidak' Tidak percaya ini sebenarnya melakukan perkara yang sama, kami boleh mengesahkannya.

Segarkan pengetahuan anda! Saya menggunakan enam tabiat buruk ini yang melambatkan program Python saya sepanjang masa!

Saya boleh menjangkakan ramai pembangun Python akan melompat keluar dan mengatakan bahawa teknik dalam contoh ini agak tidak masuk akal. Malah, saya sendiri pun jarang menulis kod seperti di atas. Walau bagaimanapun, gembira untuk mengetahui bahawa kami boleh memprogramkannya dengan cara ini dan menjadikannya lebih pantas.

Jika kita ingin menambah senarai dan mengalih keluar item daripadanya berjuta-juta kali, kita mungkin perlu mempertimbangkan untuk menggunakan helah ini. Itulah sebabnya kita perlu mengimbangi prestasi dan kebolehbacaan kod kita.

3. Jangan gunakan + untuk menggabungkan rentetan

String tidak boleh diubah dalam Python. Oleh itu, apabila kita menggunakan "+" untuk menggabungkan berbilang rentetan menjadi satu rentetan panjang, setiap subrentetan dikendalikan secara individu.

Contoh yang lebih perlahan

Segarkan pengetahuan anda! Saya menggunakan enam tabiat buruk ini yang melambatkan program Python saya sepanjang masa!

Khususnya, untuk setiap subrentetan, ia perlu meminta alamat memori dan kemudian membandingkannya dengan alamat memori tersebut Rentetan mentah digabungkan, yang menjadi overhed.

Contoh yang lebih pantas

Segarkan pengetahuan anda! Saya menggunakan enam tabiat buruk ini yang melambatkan program Python saya sepanjang masa!

Walau bagaimanapun, apabila kita menggunakan fungsi join(), fungsi tersebut mengetahui semua subrentetan terlebih dahulu dan alamat memori diperuntukkan Panjangnya sesuai untuk rentetan bercantum akhir. Oleh itu, tiada overhed memperuntukkan memori untuk setiap subrentetan.

Adalah amat disyorkan untuk menggunakan fungsi join() apabila boleh. Walau bagaimanapun, kadangkala kita mungkin hanya mahu menggabungkan dua rentetan. Atau, hanya untuk kemudahan, kami mahu menggunakan "+". Dalam kes ini, menggunakan tanda "+" menghasilkan kebolehbacaan yang lebih baik dan kurang panjang kod.

4. Jangan gunakan pembolehubah sementara untuk pertukaran nilai

Banyak algoritma memerlukan pertukaran nilai dua pembolehubah. Dalam kebanyakan bahasa pengaturcaraan lain, ini biasanya dilakukan dengan memperkenalkan pembolehubah sementara, seperti yang ditunjukkan di bawah.

Contoh yang lebih perlahan

Segarkan pengetahuan anda! Saya menggunakan enam tabiat buruk ini yang melambatkan program Python saya sepanjang masa!

Contoh yang lebih pantas

Walau bagaimanapun, dalam Python, kita tidak perlu menggunakan pembolehubah temp. Python mempunyai sintaks terbina dalam untuk melaksanakan pertukaran nilai ini, seperti ditunjukkan di bawah.

Segarkan pengetahuan anda! Saya menggunakan enam tabiat buruk ini yang melambatkan program Python saya sepanjang masa!

5. Litar pintas menggunakan If-Condition

Penilaian "litar pintas" wujud dalam banyak bahasa pengaturcaraan, dan perkara yang sama berlaku untuk Python. Pada asasnya, ia merujuk kepada kelakuan pengendali Boolean tertentu di mana hujah kedua dilaksanakan atau dinilai hanya jika hujah pertama tidak mencukupi untuk menentukan nilai keseluruhan ungkapan.

Mari kita tunjukkan ini dalam contoh. Katakan kita mempunyai senarai seperti berikut.

my_dict = [
{
'name': 'Alice',
'age': 28
},
{
'name': 'Bob',
'age': 23
},
{
'name': 'Chris',
'age': 33
},
{
'name': 'Chelsea',
'age': 2
},
{
'name': 'Carol',
'age': 24
}
]

Tugas kami ialah menapis senarai dan mencari semua orang yang namanya bermula dengan "C" dan yang berumur 30 tahun ke atas.

Contoh yang lebih perlahan

Terdapat dua syarat yang perlu dipenuhi pada masa yang sama:

  • Nama bermula dengan "C"
  • Umur ≥ 30 oleh itu, kita boleh menulis kod berikut.

Segarkan pengetahuan anda! Saya menggunakan enam tabiat buruk ini yang melambatkan program Python saya sepanjang masa!

Contoh Lebih Pantas

Tidak ada yang salah dengan kod dalam contoh sebelumnya. Walau bagaimanapun, dalam contoh fiksyen khusus ini, hanya "Chris" yang berumur lebih dari 30 tahun.

Jika kita mula-mula menulis syarat untuk menyemak nama, maka tiga nama (Chris, Chelsea dan Carol) dipenuhi. Syarat kedua berkenaan umur kemudiannya disemak semula untuk kesemua 3 individu.

Namun, kerana penilaian litar pintas, jika kita menulis syarat umur dahulu, hanya umur Chris akan melebihi 30 tahun, dan ia akan disemak semula sama ada namanya bermula dengan "C".

Segarkan pengetahuan anda! Saya menggunakan enam tabiat buruk ini yang melambatkan program Python saya sepanjang masa!

Dalam kes ini hampir 100% lebih pantas.

6 Jangan gunakan While Loop jika anda boleh menggunakan For Loop

Python menggunakan banyak C untuk meningkatkan prestasi, iaitu CPython. Dari segi pernyataan gelung, For-Loop dalam Python mempunyai langkah yang agak sedikit, lebih banyak daripadanya dijalankan sebagai kod C berbanding While-Loop.

Jadi, walaupun kita boleh menggunakan For-Loop dalam Python, kita tidak sepatutnya menggunakan while loop. Ini bukan sahaja kerana For-Loop lebih elegan dalam Python, tetapi juga berprestasi lebih baik.

Contoh yang lebih perlahan

Segarkan pengetahuan anda! Saya menggunakan enam tabiat buruk ini yang melambatkan program Python saya sepanjang masa!

Contoh yang lebih pantas

Segarkan pengetahuan anda! Saya menggunakan enam tabiat buruk ini yang melambatkan program Python saya sepanjang masa!

Atas ialah kandungan terperinci Segarkan pengetahuan anda! Saya menggunakan enam tabiat buruk ini yang melambatkan program Python saya sepanjang masa!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam