Rumah > pembangunan bahagian belakang > Tutorial Python > Sekiranya Anda 'Meminta Ampun, Bukan Kebenaran' dalam Kod Python Anda?

Sekiranya Anda 'Meminta Ampun, Bukan Kebenaran' dalam Kod Python Anda?

Mary-Kate Olsen
Lepaskan: 2024-12-10 11:07:16
asal
925 orang telah melayarinya

Should You

Falsafah Disebalik "Minta Ampun Bukan Izin"

Frasa "minta ampun bukan izin" sering digunakan dalam pengekodan untuk menggambarkan pengaturcaraan gaya yang mengutamakan pelaksanaan operasi daripada menyemak kebenaran terlebih dahulu.

Dalam kod Pythonic, prinsip ini mencadangkan bahawa daripada menggunakan pernyataan bersyarat untuk mengesahkan kewujudan atribut atau kesahihan operasi, adalah lebih cekap untuk mencuba operasi dan mengendalikan sebarang pengecualian yang terhasil.

Contoh Senario dan "Minta Ampun" Pendekatan

Pertimbangkan kelas dengan bar atribut pilihan. Dalam pengaturcaraan tradisional, seseorang mungkin menyemak sama ada atribut itu wujud sebelum menggunakannya:

if foo.bar:
    # Do stuff
Salin selepas log masuk

Walau bagaimanapun, pendekatan "minta ampun" menasihati:

try:
    foo.bar  # Attempt to access the attribute
    # Do stuff    
except AttributeError:
    # Handle the error if the attribute doesn't exist
Salin selepas log masuk

Argumen untuk "Tanya Pengampunan"

  • Keselarasan: Dalam persekitaran berbilang benang atau apabila mengendalikan sumber luaran, keadaan sistem boleh berubah antara semakan kebenaran dan operasi.
  • Ketepatan: Mentakrifkan semakan kebenaran khusus boleh menjadi sukar, yang membawa kepada sama ada positif palsu atau negatif palsu.

Pengecualian untuk Pilihan Atribut

Dalam kes atribut pilihan, pendekatan Pythonic yang diterima adalah untuk memulakan atribut kepada Tiada dan menyemak kewujudannya secara eksplisit:

if foo.bar is not None:
    # Handle the optional part
else:
    # Default handling
Salin selepas log masuk

Ini memastikan kod itu jelas dan niat untuk mengendalikan atribut pilihan ialah明确的.

Atas ialah kandungan terperinci Sekiranya Anda 'Meminta Ampun, Bukan Kebenaran' dalam Kod Python Anda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan