În general, este o bună practică să nu amestecați file și spații atunci când codificați în Python. A face acest lucru poate provoca o TabError, iar programul dvs. se va prăbuși. Fiți consecvenți atunci când codificați – alegeți fie să indentați folosind file sau spații și urmați convenția aleasă pe tot parcursul programului.

Blocuri de cod și indentare

Una dintre cele mai distinctive trăsături ale Python este utilizarea indentării pentru a marca blocuri de cod. Luați în considerare declarația if din programul nostru simplu de verificare a parolei:

if pwd == 'apple':
    print('Logging on ...')
else:
    print('Incorrect password.')

print('All done!')

Liniile tipărite („Conectare…”) și tipărire („Parolă incorectă”) sunt două blocuri de cod separate. Acestea se întâmplă să aibă doar o singură linie, dar Python vă permite să scrieți blocuri de cod constând din orice număr de instrucțiuni.

Pentru a indica un bloc de cod în Python, trebuie să indentați fiecare linie a blocului cu aceeași cantitate. Cele două blocuri de cod din exemplul nostru if-statement sunt ambele indentate cu patru spații, ceea ce reprezintă o cantitate tipică de indentare pentru Python.

În majoritatea celorlalte limbaje de programare, indentarea este utilizată doar pentru a face codul să arate frumos. Dar în Python, este necesar pentru a indica la ce bloc de cod aparține o declarație. De exemplu, tipărirea finală („Gata!”) Nu este indentată, așa că nu face parte din blocul else.

Programatorii familiarizați cu alte limbi se gândesc adesea la gândul că indentarea contează: Mulți programatori le place libertatea de a-și forma codul după cum le place. Cu toate acestea, regulile de indentare Python sunt destul de simple, iar majoritatea programatorilor folosesc deja indentarea pentru a face codul lor lizibil. Python duce pur și simplu această idee cu un pas mai departe și dă sens indentării.

Dacă / elif-statement

O declarație if / elif este o declarație generalizată dacă are mai multe condiții. Este folosit pentru luarea deciziilor complexe. De exemplu, să presupunem că o companie aeriană are următoarele tarife pentru biletele „pentru copii”: copiii cu vârsta de 2 ani sau mai mici zboară gratuit, copiii mai mari de 2 ani, dar mai mici de 13 ani plătesc un tarif pentru copii redus și oricine de 13 ani sau mai mult plătește un tarif obișnuit pentru adulți . Următorul program determină cât de mult ar trebui să plătească un pasager:

# airfare.py
age = int(input('How old are you? '))
if age <= 2:
    print(' free')
elif 2 < age < 13:
    print(' child fare)
else:
    print('adult fare')

După ce Python primește vârsta de la utilizator, acesta introduce instrucțiunea if / elif și verifică fiecare condiție una după alta în ordinea în care sunt date. Deci, mai întâi verifică dacă vârsta este mai mică de 2 și, dacă da, indică faptul că zborul este liber și sare din condiția elif. Dacă vârsta nu este mai mică de 2, atunci verifică următoarea condiție elif pentru a vedea dacă vârsta este cuprinsă între 2 și 13. Dacă da, imprimă mesajul corespunzător și sare din afirmația if / elif. Dacă nici condiția if și nici condiția elif nu sunt True, atunci execută codul din blocul else.

Expresii condiționate

Python are încă un operator logic pe care unii programatori îl plac (iar alții nu!). Este, în esență, o notație stenogramă pentru instrucțiunile if care pot fi utilizate direct în cadrul expresiilor. Luați în considerare acest cod:

food = input("What's your favorite food? ")
reply = 'yuck' if food == 'lamb' else 'yum'

Expresia din partea dreaptă a = din a doua linie se numește expresie condițională și se evaluează fie ca „yuck”, fie „yum”. Este echivalent cu următorul:

food = input("What's your favorite food? ")
if food == 'lamb':
   reply = 'yuck'
else:
   reply = 'yum'

Expresiile condiționale sunt de obicei mai scurte decât afirmațiile if / else-corespunzătoare, deși nu sunt la fel de flexibile sau ușor de citit. În general, ar trebui să le utilizați atunci când vă simplifică codul.

Documentare Python – Indentare