Amalan Terbaik untuk Pernyataan Bersyarat dalam Python
Artikel ini menjelaskan amalan terbaik untuk pernyataan bersyarat dalam Python.
YouTube Video
Amalan Terbaik untuk Pernyataan Bersyarat dalam Python
if dalam Python adalah struktur asas untuk melaksanakan cawangan bersyarat, dan ia sangat mempengaruhi kebolehbacaan dan penyelenggaraan kod. Di sini, kami akan membincangkan secara terperinci amalan terbaik untuk menggunakan if.
Gunakan ungkapan bersyarat yang jelas
Tulis ungkapan bersyarat secara ringkas dan jelas, elakkan kenyataan yang berulang.
1condition = True
2
3### Bad Example
4if condition == True:
5 pass
6
7### Good Example
8if condition:
9 pass- Dalam Python, anda boleh menunjukkan bahawa syarat adalah benar dengan menulis
if condition:.
Menggabungkan pelbagai syarat
Apabila menggabungkan pelbagai syarat, gunakan and atau or. Walau bagaimanapun, apabila ungkapan bersyarat menjadi kompleks, kebolehbacaan mungkin berkurangan, maka pertimbangkan pelarasan berikut:.
1age = 15
2is_student = True
3
4### Bad Example
5# Complex condition
6if (age > 18 and age < 65) or (is_student and age > 15):
7 pass
8
9### Good Example
10# Improving readability
11is_working_age = 18 < age < 65
12is_eligible_student = is_student and age > 15
13
14if is_working_age or is_eligible_student:
15 pass- Dengan memecahkan syarat dan memberikan mereka kepada pembolehubah, kebolehbacaan boleh ditingkatkan.
Penilaian pintas (short-circuit) bagi and/or
Dalam ungkapan bersyarat yang menggunakan and atau or, jika hasilnya dapat ditentukan hanya oleh nilai sebelah kiri, penilaian pintas akan berlaku dan bahagian kanan tidak akan dinilai. Memahami perkara ini membantu anda mengelakkan pemprosesan yang tidak perlu dan mencegah ralat.
1user = None
2def expensive_check():
3 return True
4
5# Example of short-circuiting with 'and'
6if user and user.is_active:
7 # If user is None, user.is_active will NOT be evaluated
8 print("Active user found.")
9
10# Example of short-circuiting with 'or'
11if user.is_admin or expensive_check(user):
12 # If user.is_admin is True, expensive_check will NOT be called.
13 print("Access granted.")
14else:
15 print("Access denied.")- Dengan menggunakan penilaian pintas, anda dapat meningkatkan kecekapan dan keselamatan pemprosesan.
Keutamaan (precedence) bagi and dan or
and mempunyai keutamaan yang lebih tinggi berbanding or. Oleh itu, jika anda menggabungkan syarat secara tidak berhati-hati, anda mungkin mendapat hasil yang tidak dijangka. Adalah penting untuk menggunakan kurungan supaya niat anda lebih jelas.
1age = 15
2is_student = True
3
4### Unclear example
5# This is interpreted as: age > 18 and (age < 65 or is_student)
6if age > 18 and age < 65 or is_student:
7 pass
8
9### Clear example
10# Explicit parentheses make the intended logic obvious
11if (age > 18 and age < 65) or is_student:
12 pass- Dengan menggunakan kurungan, anda boleh memperjelaskan keutamaan
anddanor, sekaligus mengurangkan risiko pepijat yang tidak dijangka.
Fahami Truthy dan Falsy
Dalam Python, nilai berikut dinilai sebagai False:.
TiadaSalah- Nombor
0(termasuk0.0) - Jenis jujukan kosong (seperti senarai kosong, tuple, atau rentetan)
- Contoh:
[],(),""
- Contoh:
- Kamus kosong
- Contoh:
{}
- Contoh:
Memanfaatkan ini boleh membantu menyederhanakan ungkapan bersyarat anda.
1items = [1, 2, 3]
2
3### Bad Example
4if len(items) > 0:
5 pass
6
7### Good Example
8if items:
9 passPenggunaan elif dan else yang betul
Apabila menilai pelbagai syarat, gunakan elif. Gunakan else untuk menentukan tingkah laku lalai di akhir.
1score = 80
2
3if score >= 90:
4 grade = "A"
5elif score >= 80:
6 grade = "B"
7elif score >= 70:
8 grade = "C"
9else:
10 grade = "F"elsetidak wajib. Jika semua syarat dilindungi, ia boleh dikeluarkan.- Perhatikan susunan ungkapan syarat dan susunkannya secara logik tanpa berlebihan.
Hadkan kedalaman penyorokan.
Penyorokan mendalam terhadap pernyataan if menjadikan kod sukar untuk dibaca.
1def access_resource():
2 return True
3
4### Bad Example
5def deep_nest(user, resource):
6 if user.is_authenticated:
7 if user.has_permission:
8 if resource.is_available:
9 access_resource()
10
11### Good Example
12def early_return(user, resource):
13 if not user.is_authenticated:
14 return
15 if not user.has_permission:
16 return
17 if not resource.is_available:
18 return
19
20 access_resource()- Menggunakan pemulangan awal boleh mengurangkan penyorokan dan menjadikan kod lebih ringkas.
Elakkan menggunakan pernyataan if satu baris.
Adalah mungkin untuk menulis kenyataan if dalam satu baris, tetapi ini mungkin mengurangkan keterbacaan.
1condition = False
2def do_something():
3 return True
4
5### Bad Example
6if condition: do_something()
7
8### Good Example
9if condition:
10 do_something()- Penggunaan kenyataan if satu baris hanya boleh diterima untuk syarat atau tindakan yang ringkas, tetapi elakkan menulis kod yang terlalu berbelit-belit.
Memudahkan dengan pengendali ternari atau or
Untuk cawangan bersyarat yang mudah, menggunakan pengendali ternari atau or boleh menjadikan kod anda lebih ringkas. Namun, penggunaan berlebihan boleh menyebabkan kod sukar dibaca, jadi ia harus digunakan hanya untuk syarat yang mudah dan jelas.
1is_admin = True
2input_name = None
3
4# Regular if statement
5if is_admin:
6 role = "Administrator"
7else:
8 role = "User"
9
10# Simplified using an inline if
11role = "Administrator" if is_admin else "User"
12
13# Use 'or' to provide a default value
14name = input_name or "Guest"- Untuk syarat yang mudah, menggunakan pengendali ternari atau
orboleh menjadikan kod anda lebih pendek dan mudah difahami.
Menyimpan ungkapan syarat dalam cache.
Ungkapan syarat yang melibatkan pengiraan mahal atau panggilan fungsi boleh disimpan dalam pembolehubah untuk meningkatkan prestasi.
1def expensive_function():
2 pass
3
4def another_expensive_function():
5 pass
6
7### Bad Example
8if expensive_function() and another_expensive_function():
9 pass
10
11### Good Example
12result1 = expensive_function()
13result2 = another_expensive_function()
14if result1 and result2:
15 passRingkasan
Pernyataan if dalam Python adalah alat yang mudah dan berkuasa, tetapi penggunaan yang tidak betul boleh menjadikan kod rumit dan sukar untuk dibaca. Dengan mengamalkan amalan terbaik yang diperkenalkan di sini, anda boleh meningkatkan kebolehbacaan, kebolehselenggaraan, dan kecekapan kod anda.
Anda boleh mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Sila lihat juga saluran YouTube kami.