Praktik Terbaik untuk Pernyataan Kondisional di Python
Artikel ini menjelaskan praktik terbaik untuk pernyataan kondisional di Python.
YouTube Video
Praktik Terbaik untuk Pernyataan Kondisional di Python
If dalam Python adalah konstruksi dasar untuk menerapkan percabangan kondisional, dan ini sangat memengaruhi keterbacaan serta pemeliharaan kode. Di sini, kita akan membahas secara rinci praktik terbaik untuk menggunakan pernyataan if.
Gunakan ekspresi kondisional yang eksplisit
Tulislah ekspresi kondisional secara ringkas dan eksplisit, hindari pernyataan yang berlebihan.
1condition = True
2
3### Bad Example
4if condition == True:
5 pass
6
7### Good Example
8if condition:
9 pass- Di Python, Anda dapat menunjukkan bahwa suatu kondisi bernilai benar dengan menulis
if condition:.
Menggabungkan beberapa kondisi
Saat menggabungkan beberapa kondisi, gunakan and atau or. Namun, ketika ekspresi kondisional menjadi kompleks, keterbacaan dapat menurun, sehingga pertimbangkan penyesuaian 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 membagi kondisi dan menetapkannya ke variabel, keterbacaan dapat ditingkatkan.
Evaluasi short-circuit pada and/or
Dalam ekspresi kondisional yang menggunakan and atau or, jika hasilnya dapat ditentukan hanya dengan nilai kiri, evaluasi short-circuit terjadi dan sisi kanan tidak dievaluasi. Memahami hal ini membantu Anda menghindari pemrosesan yang tidak perlu dan mencegah kesalahan.
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 memanfaatkan evaluasi short-circuit, Anda dapat meningkatkan efisiensi dan keamanan pemrosesan.
Prioritas and dan or
and memiliki prioritas lebih tinggi daripada or. Oleh karena itu, ketika menggabungkan kondisi tanpa hati-hati, Anda mungkin mendapatkan hasil yang tidak diinginkan. Penting untuk menggunakan tanda kurung agar maksud Anda menjadi 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 tanda kurung, Anda dapat memperjelas prioritas
anddanor, sehingga mengurangi risiko bug yang tidak terduga.
Pahami Truthy dan Falsy
Di Python, nilai-nilai berikut dievaluasi sebagai False:.
NoneFalse- Angka
0(termasuk0.0) - Tipe urutan kosong (seperti list, tuple, atau string kosong)
- Contoh:
[],(),""
- Contoh:
- Dictionary kosong
- Contoh:
{}
- Contoh:
Memanfaatkan ini dapat membantu menyederhanakan ekspresi kondisional Anda.
1items = [1, 2, 3]
2
3### Bad Example
4if len(items) > 0:
5 pass
6
7### Good Example
8if items:
9 passPenggunaan yang tepat untuk elif dan else
Saat mengevaluasi beberapa kondisi, gunakan elif. Gunakan else untuk mendefinisikan perilaku default 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 kondisi sudah tercakup, itu bisa dihilangkan.- Perhatikan urutan ekspresi kondisional dan susun secara logis tanpa redundansi.
Batasi kedalaman penanaman (nesting).
Penanaman dalam pernyataan if membuat kode lebih sulit 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 pengembalian awal (early return) dapat mengurangi penanaman dan membuat kode lebih ringkas.
Hindari penggunaan pernyataan if satu baris.
Menulis pernyataan if dalam satu baris memang memungkinkan, tetapi hal ini dapat mengurangi 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 if satu baris hanya dapat diterima untuk kondisi atau aksi yang singkat saja, tetapi hindari menulis kode yang terlalu panjang.
Menyederhanakan dengan operator ternary atau or
Untuk percabangan kondisional sederhana, menggunakan operator ternary atau or dapat membuat kode Anda lebih ringkas. Namun, penggunaan berlebihan dapat membuat kode Anda sulit dibaca, sehingga sebaiknya hanya digunakan untuk kondisi yang sederhana dan mudah dipahami.
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 kondisi sederhana, menggunakan operator ternary atau
ordapat membuat kode Anda lebih pendek dan lebih mudah dipahami.
Menyimpan ekspresi kondisional (caching).
Ekspresi kondisional yang melibatkan perhitungan rumit atau pemanggilan fungsi dapat disimpan dalam variabel untuk meningkatkan kinerja.
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 di Python adalah alat sederhana dan kuat, tetapi penggunaan yang tidak tepat dapat membuat kode menjadi kompleks dan sulit dibaca. Dengan menerapkan praktik terbaik yang diperkenalkan di sini, Anda dapat meningkatkan keterbacaan, pemeliharaan, dan efisiensi kode Anda.
Anda dapat mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Silakan periksa juga saluran YouTube kami.