Pinakamahusay na Kasanayan para sa Mga Kundisyunal na Pahayag sa Python

Pinakamahusay na Kasanayan para sa Mga Kundisyunal na Pahayag sa Python

Ipinaliliwanag ng artikulong ito ang pinakamahusay na kasanayan para sa mga kundisyunal na pahayag sa Python.

YouTube Video

Pinakamahusay na Kasanayan para sa Mga Kundisyunal na Pahayag sa Python

Ang pahayag na if sa Python ay pangunahing istruktura para sa pagpapatupad ng kundisyunal na pagsanga at malaki ang epekto nito sa mababasang kodigo at pagpapanatili nito. Dito, tatalakayin natin nang detalyado ang pinakamahuhusay na kasanayan sa paggamit ng mga if na pahayag.

Gumamit ng malinaw na mga kundisyunal na pagpapahayag

Isulat ang mga conditional expressions nang maikli at malinaw, iwasan ang mga paulit-ulit na pahayag.

1condition = True
2
3### Bad Example
4if condition == True:
5    pass
6
7### Good Example
8if condition:
9    pass
  • Sa Python, maipapakita mo na ang isang kundisyon ay totoo sa pamamagitan ng pagsulat ng if condition:.

Pinagsasama ang maraming kundisyon

Kapag pinagsama ang maraming kundisyon, gumamit ng and o or. Gayunpaman, kapag ang mga kundisyunal na pahayag ay naging masalimuot, maaaring bumaba ang mababasang kalidad, kaya isaalang-alang ang mga sumusunod na pagsasaayos:.

 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
  • Sa pamamagitan ng paghahati ng mga kundisyon at paglalaan nito sa mga variable, mapapabuti ang mababasang kalidad.

and/or na maikling pag-evaluate (short-circuit evaluation)

Sa mga conditional na ekspresyon gamit ang and o or, kung ang resulta ay maaaring matukoy gamit lang ang kaliwang bahagi, nagkakaroon ng maikling pag-evaluate (short-circuit evaluation) at hindi na sinusuri ang kanang bahagi. Ang pag-unawa dito ay makakatulong sa iyo na maiwasan ang hindi kinakailangang pagpoproseso at makapigil sa mga pagkakamali.

 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.")
  • Sa paggamit ng short-circuit evaluation, mapapabuti mo ang kahusayan at kaligtasan ng pagpoproseso.

Prayoridad ng and at or

Mas mataas ang prayoridad ng and kaysa sa or. Dahil dito, kapag pinagsama mo ang mga kondisyon nang walang ingat, maaaring magresulta ito sa hindi inaasahang resulta. Mahalaga ang paggamit ng panaklong upang malinaw ang iyong layunin.

 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
  • Sa paggamit ng panaklong, mapapalinaw mo ang prayoridad ng and at or, mababawasan ang posibilidad ng hindi inaasahang mga bug.

Unawain ang Truthy at Falsy

Sa Python, ang mga sumusunod na halaga ay kinikilala bilang False:.

  • Wala
  • Mali
  • Ang bilang na 0 (kabilang ang 0.0)
  • Mga walang laman na uri ng sequence (gaya ng walang lamang listahan, tuple, o string)
    • Mga halimbawa: [], (), ""
  • Walang lamang diksyunaryo
    • Halimbawa: {}

Ang paggamit nito ay maaaring makatulong upang gawing mas simple ang iyong mga kundisyunal na pagpapahayag.

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

Tamang paggamit ng elif at else

Kapag sinusuri ang maraming kundisyon, gumamit ng elif. Gumamit ng else upang tukuyin ang default na kilos sa dulo.

 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"
  • Ang else ay hindi sapilitan. Kung sakop ang lahat ng kondisyon, maaari itong laktawan.
  • Pansinin ang pagkakasunod-sunod ng mga kundisyong ekspresyon at ayusin ang mga ito nang lohikal at walang ulit-ulit.

Limitahan ang lalim ng pagkakabukod.

Ang sobrang lalim ng pagkakabukod ng mga if statement ay nagpapahirap sa pagbabasa ng code.

 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()
  • Ang paggamit ng maagang pagbalik ay maaaring mabawasan ang pagkakabukod at gawing mas maikli ang code.

Iwasan ang paggamit ng mga if statement na nasa iisang linya.

Maaaring isulat ang if statement sa isang linya, ngunit maaaring bumaba ang pagiging nababasa nito.

 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()
  • Ang paggamit ng single-line na if statements ay katanggap-tanggap lang kung maikli ang kondisyon o aksyon, ngunit iwasan ang masyadong mahahabang code.

Pinasisimple gamit ang ternary operator o or

Para sa mga simpleng kondisyon, ang paggamit ng ternary operator o or ay makakapagpapaiksi ng iyong code. Gayunpaman, ang labis na paggamit nito ay maaaring magpalabo sa iyong code, kaya ang mga ito ay nararapat gamitin lamang para sa mga simple at madaling unawain na kondisyon.

 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"
  • Sa mga payak na kondisyon, ang paggamit ng ternary operator o or ay makakapagpapaikli at makapagpapadali ng iyong code.

Pag-cache ng mga kundisyong ekspresyon.

Ang mga kundisyong ekspresyon na may kinalaman sa mahal na kalkulasyon o tawag na function ay maaaring i-cache sa mga variable upang mapabuti ang performance.

 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

Buod

Ang mga if statement sa Python ay simple at makapangyarihang tools, ngunit ang maling paggamit nito ay maaaring gawing kumplikado at mahirap basahin ang code. Sa pamamagitan ng paggamit ng mga pinakamahusay na kasanayan na ipinakilala dito, maaari mong mapabuti ang pagbabasa, pagpapanatili, at kahusayan ng iyong code.

Maaari mong sundan ang artikulo sa itaas gamit ang Visual Studio Code sa aming YouTube channel. Paki-check din ang aming YouTube channel.

YouTube Video