Wyjaśnienie lekcji
Po tej lekcji będziesz potrafić:
pass dla celowo pustego bloku i bezpiecznie inicjalizować wartości, które będą potrzebne później.Python używa wcięć jako składni. Dwukropek otwiera blok, a wcięte instrukcje pod nim należą do tego bloku:
if is_ready:
print("Deploy")Zwyczajowo stosuje się cztery spacje na poziom wcięcia. Python nie używa {} do oznaczania bloków, a niespójne wcięcia mogą zmienić działanie programu lub uniemożliwić jego uruchomienie.
Zagnieżdżone decyzje dodają kolejny poziom wcięcia. Gdy blok wewnętrzny się kończy, wróć na poziom zewnętrzny.
Python odrzuca też pusty blok. Użyj pass, gdy potrzebujesz poprawnego symbolu zastępczego bez żadnego działania.
Blok if nie tworzy oddzielnego zakresu zmiennych, ale to nie gwarantuje, że przypisanie w ogóle miało miejsce. Jeśli wartość musi istnieć po bloku, zainicjalizuj ją przed warunkiem albo przypisz ją w każdej możliwej gałęzi.
Oba wcięte wiersze należą do gałęzi wykonywanej przy powodzeniu.
checks_passed = True
if checks_passed:
print("Validation complete")
print("Release unlocked")
print("Workflow finished")Wynik:
Validation complete
Release unlocked
Workflow finishedOstatni wiersz nie jest wcięty, więc wykonuje się po warunku.
Drugi warunek jest sprawdzany tylko wtedy, gdy pierwszy jest spełniony.
account_exists = True
email_verified = True
if account_exists:
if email_verified:
print("Login allowed")Wynik:
Login allowedWewnętrzne print() znajduje się na dwóch poziomach wcięcia.
passpass nic nie robi, ale spełnia wymóg Pythona, aby blok zawierał instrukcję.
feature_enabled = False
if feature_enabled:
pass
print("Configuration loaded")Wynik:
Configuration loadedUtwórz bezpieczną wartość domyślną przed gałęzią, gdy wartość jest wypisywana później.
is_enterprise = False
support_label = "Standard support"
if is_enterprise:
support_label = "Priority support"
print(support_label)Wynik:
Standard supportZmienna istnieje zawsze, nawet gdy gałąź się nie wykonuje.
| Struktura | Znaczenie |
|---|---|
if condition: | Otwarcie bloku |
| Cztery spacje na początku | Jeden poziom wcięcia |
| Osiem spacji na początku | Blok zagnieżdżony w innym bloku |
pass | Poprawny symbol zastępczy bez działania |
| Przesunięcie wcięcia w lewo | Zamknięcie bieżącego bloku |
pass.