Python'da Koşullu İfadeler için En İyi Uygulamalar

Python'da Koşullu İfadeler için En İyi Uygulamalar

Bu makale, Python'da koşullu ifadeler için en iyi uygulamaları açıklar.

YouTube Video

Python'da Koşullu İfadeler için En İyi Uygulamalar

Python'da if deyimi, koşullu dallanmayı gerçekleştirmek için temel bir yapıdır ve kodun okunabilirliğini ve sürdürülebilirliğini önemli ölçüde etkiler. Burada, if deyimlerini kullanırken dikkat edilmesi gereken en iyi uygulamaları detaylı olarak tartışacağız.

Açık koşullu ifadeler kullanın

Koşullu ifadeleri gereksiz ifadelerden kaçınarak özlü ve açık bir şekilde yazın.

1condition = True
2
3### Bad Example
4if condition == True:
5    pass
6
7### Good Example
8if condition:
9    pass
  • Python'da bir koşulun doğru olduğunu if condition: yazarak belirtebilirsiniz.

Birden fazla koşulu birleştirme

Birden fazla koşulu birleştirirken and veya or kullanın. Bununla birlikte, koşullu ifadeler karmaşık hale geldiğinde okunabilirlik azalabilir, bu nedenle aşağıdaki ayarlamaları dikkate alın:.

 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
  • Koşulları ayırarak ve bunları değişkenlere atayarak okunabilirlik artırılabilir.

and/or kısa devre değerlendirmesi

and veya or kullanılan koşullu ifadelerde, eğer sonuç yalnızca sol taraftaki değerden belirlenebiliyorsa kısa devre değerlendirmesi gerçekleşir ve sağ taraf değerlendirilmez. Bunu anlamak, gereksiz işlemlerden kaçınmanıza ve hataları önlemenize yardımcı olur.

 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.")
  • Kısa devre değerlendirmesini kullanarak, işlem verimliliğini ve güvenliğini artırabilirsiniz.

and ve or önceliği

and, or'dan daha yüksek önceliğe sahiptir. Bu nedenle, koşulları dikkatsizce birleştirirseniz, istenmeyen sonuçlar elde edebilirsiniz. Niyetinizi netleştirmek için parantez kullanmak önemlidir.

 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
  • Parantez kullanarak, and ve or önceliğini netleştirebilir ve beklenmeyen hataların riskini azaltabilirsiniz.

Truthy ve Falsy'yi Anlayın

Python'da aşağıdaki değerler False olarak değerlendirilir:.

  • Hiçbiri
  • Yanlış
  • 0 sayısı (ve 0.0 dahil)
  • Boş sıra tipleri (örneğin, boş listeler, demetler veya dizgiler)
    • Örnekler: [], (), ""
  • Boş sözlük
    • Örnek: {}

Bunu kullanarak koşullu ifadelerinizi basitleştirebilirsiniz.

1items = [1, 2, 3]
2
3### Bad Example
4if len(items) > 0:
5    pass
6
7### Good Example
8if items:
9    pass

elif ve else'ın doğru kullanımı

Birden fazla koşulu değerlendirirken elif kullanın. Sonunda varsayılan bir davranış tanımlamak için else kullanın.

 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"
  • else zorunlu değildir. Tüm koşullar kapsanıyorsa, atlanabilir.
  • Koşullu ifadelerin sırasına dikkat edin ve mantıklı bir şekilde tekrar olmadan düzenleyin.

İç içe yerleştirme derinliğini sınırlayın.

if ifadelerinin derin iç içe yerleştirilmesi kodun okunmasını zorlaştırır.

 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()
  • Erken dönüşler kullanmak iç içe yerleştirmeyi azaltabilir ve kodu daha sade hale getirebilir.

Tek satırlık if ifadeleri kullanmaktan kaçının.

If ifadelerini tek satırda yazmak mümkün olsa da bu, okunabilirliği azaltabilir.

 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()
  • Tek satırlık if ifadeleri yalnızca kısa koşullar veya eylemler için kabul edilebilir, ancak aşırı uzun kod yazmaktan kaçının.

Üçlü (ternary) operatör veya or ile sadeleştirme

Basit koşullu dallanmalar için üçlü operatör veya or kullanmak kodunuzu daha sade hale getirebilir. Ancak, bunların aşırı kullanımı kodun okunmasını zorlaştırır; bu yüzden sadece basit ve sezgisel koşullar için kullanılmalıdır.

 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"
  • Basit koşullar için üçlü operatör veya or kullanmak, kodunuzu daha kısa ve anlaşılır hale getirebilir.

Koşullu ifadeleri önbelleğe almak.

Maliyetli hesaplamalar veya fonksiyon çağrılarını içeren koşullu ifadeler performansı artırmak için değişkenlerde önbelleğe alınabilir.

 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    pass

Özet

Python'un if ifadeleri basit ve güçlü araçlardır, ancak yanlış kullanımı kodu karmaşık ve zor okunur hale getirebilir. Burada tanıtılan en iyi uygulamaları benimseyerek, kodunuzun okunabilirliğini, sürdürülebilirliğini ve verimliliğini artırabilirsiniz.

Yukarıdaki makaleyi, YouTube kanalımızda Visual Studio Code'u kullanarak takip edebilirsiniz. Lütfen YouTube kanalını da kontrol edin.

YouTube Video