R3TJ2EHFE7MBL
Surrealistyczne i pełne życia zdjęcie filmowe przedstawiające węża pytona splecionego ze szczegółowo odwzorowanymi strukturami danych w informatyce, w tym zbiorami, tablicami i listami, w onirycznym otoczeniu, w fotorealistycznym stylu, z subtelną teksturą ziarna filmowego, łuski węża mienią się odcieniami zieleni szmaragdowej i szafiru, owijając się wokół struktur danych, które są przedstawione w metalicznym srebrze i złocie, z delikatnym, eterycznym blaskiem, tło jest ciepłe, gradientowe w niebieskich tonach, z nutami fioletu i różu, wywołujące poczucie futurystycznej nostalgii, ogólny nastrój jest hipnotyzujący i skłaniający do refleksji, zapraszający widza do rozważenia punktu styku natury i technologii.

PY_I_R_W13B_M01 Pythonizmy

Grafika wygenerowana za pomocą sztucznej inteligencji Leonardo.ai
Źródło: Zespół ORE, dostępny w internecie: pixabay.com, domena publiczna.

Przykładowe konstrukcje

Przykład 1

F‑stringi – nowoczesne formatowanie tekstu

Zamiast:

Linia 1. print otwórz nawias okrągły cudzysłów Wynik to dwukropek cudzysłów plus str otwórz nawias okrągły wynik zamknij nawias okrągły zamknij nawias okrągły.

pythonicznie:

Linia 1. print otwórz nawias okrągły f cudzysłów Wynik to dwukropek otwórz nawias klamrowy wynik zamknij nawias klamrowy cudzysłów zamknij nawias okrągły.
Przykład 2

Warunek w jednej linii (operator trójargumentowy) 

 Zamiast:

Linia 1. if x zamknij nawias ostrokątny 0 dwukropek. Linia 2. znak znak równości cudzysłów dodatnia cudzysłów. Linia 3. else dwukropek. Linia 4. znak znak równości cudzysłów ujemna cudzysłów.

pythonicznie:

Linia 1. znak znak równości cudzysłów dodatnia cudzysłów if x zamknij nawias ostrokątny 0 else cudzysłów ujemna cudzysłów.
Przykład 3

any()all() – szybka kontrola warunków: 

pythonicznie:

Linia 1. liczby znak równości otwórz nawias kwadratowy 2 przecinek 4 przecinek 6 przecinek 8 zamknij nawias kwadratowy. Linia 3. print otwórz nawias okrągły all otwórz nawias okrągły x procent 2 znak równości znak równości 0 for x in liczby zamknij nawias okrągły zamknij nawias okrągły kratka True — wszystkie parzyste. Linia 4. print otwórz nawias okrągły any otwórz nawias okrągły x zamknij nawias ostrokątny 7 for x in liczby zamknij nawias okrągły zamknij nawias okrągły kratka True — przynajmniej jedna zamknij nawias ostrokątny 7.
Przykład 4

Wykorzystanie enumerate() zamiast licznika

Zamiast:

Linia 1. i znak równości 0. Linia 2. for element in lista dwukropek. Linia 3. print otwórz nawias okrągły i przecinek element zamknij nawias okrągły. Linia 4. i plus znak równości 1.

pythonicznie:

Linia 1. for i przecinek element in enumerate otwórz nawias okrągły lista zamknij nawias okrągły dwukropek. Linia 2. print otwórz nawias okrągły i przecinek element zamknij nawias okrągły.
Przykład 5

List Comprehensions (listowe wyrażenia składane)

Zamiast tworzyć listę w pętli:

Linia 1. kwadraty znak równości otwórz nawias kwadratowy zamknij nawias kwadratowy. Linia 2. for i in range otwórz nawias okrągły 5 zamknij nawias okrągły dwukropek. Linia 3. kwadraty kropka append otwórz nawias okrągły i asterysk asterysk 2 zamknij nawias okrągły.

można napisać krócej i czytelniej (pythonicznie):

Linia 1. kwadraty znak równości otwórz nawias kwadratowy i asterysk asterysk 2 for i in range otwórz nawias okrągły 5 zamknij nawias okrągły zamknij nawias kwadratowy. Linia 2. for i przecinek element in enumerate otwórz nawias okrągły lista zamknij nawias okrągły dwukropek. Linia 3. print otwórz nawias okrągły i przecinek element zamknij nawias okrągły.

Zalety: krótszy kod, większa przejrzystość i szybkość działania.

Przykład 6

Wycinki (slices) 

 Python pozwala w bardzo prosty sposób pobierać fragmenty list, napisów czy krotek – bez konieczności używania pętli.
Służy do tego specjalna składnia z dwukropkiem :.

Linia 1. lista znak równości otwórz nawias kwadratowy 10 przecinek 20 przecinek 30 przecinek 40 przecinek 50 zamknij nawias kwadratowy. Linia 3. print otwórz nawias okrągły lista otwórz nawias kwadratowy 1 dwukropek 4 zamknij nawias kwadratowy zamknij nawias okrągły kratka otwórz nawias kwadratowy 20 przecinek 30 przecinek 40 zamknij nawias kwadratowy – elementy od indeksu 1 do 3. Linia 4. print otwórz nawias okrągły lista otwórz nawias kwadratowy dwukropek 3 zamknij nawias kwadratowy zamknij nawias okrągły kratka otwórz nawias kwadratowy 10 przecinek 20 przecinek 30 zamknij nawias kwadratowy – od początku do indeksu 2. Linia 5. print otwórz nawias okrągły lista otwórz nawias kwadratowy 2 dwukropek zamknij nawias kwadratowy zamknij nawias okrągły kratka otwórz nawias kwadratowy 30 przecinek 40 przecinek 50 zamknij nawias kwadratowy – od indeksu 2 do końca. Linia 6. print otwórz nawias okrągły lista otwórz nawias kwadratowy dwukropek dwukropek 2 zamknij nawias kwadratowy zamknij nawias okrągły kratka otwórz nawias kwadratowy 10 przecinek 30 przecinek 50 zamknij nawias kwadratowy – co drugi element. Linia 7. print otwórz nawias okrągły lista otwórz nawias kwadratowy dwukropek dwukropek minus 1 zamknij nawias kwadratowy zamknij nawias okrągły kratka otwórz nawias kwadratowy 50 przecinek 40 przecinek 30 przecinek 20 przecinek 10 zamknij nawias kwadratowy – lista odwrócona.

Wycinki można stosować także na łańcuchach znaków:

Linia 1. tekst znak równości cudzysłów Python cudzysłów. Linia 2. print otwórz nawias okrągły tekst otwórz nawias kwadratowy 0 dwukropek 3 zamknij nawias kwadratowy zamknij nawias okrągły kratka apostrof Pyt apostrof.

Zalety: dzięki wycinkom możemy błyskawicznie operować na fragmentach danych — to bardzo „pythoniczny” sposób manipulowania listami i napisami.

Przykład 7

Rozpakowywanie kolekcji:

Linia 1. a przecinek b przecinek c znak równości otwórz nawias kwadratowy 1 przecinek 2 przecinek 3 zamknij nawias kwadratowy. Linia 2. print otwórz nawias okrągły a przecinek b przecinek c zamknij nawias okrągły kratka 1 2 3.

Można też pomijać elementy:

Linia 1. a przecinek podkreślnik przecinek c znak równości otwórz nawias kwadratowy 10 przecinek 20 przecinek 30 zamknij nawias kwadratowy.

Lub „zbierać resztę”:

Linia 1. a przecinek asterysk środek przecinek b znak równości otwórz nawias kwadratowy 1 przecinek 2 przecinek 3 przecinek 4 przecinek 5 zamknij nawias kwadratowy. Linia 2. print otwórz nawias okrągły środek zamknij nawias okrągły kratka otwórz nawias kwadratowy 2 przecinek 3 przecinek 4 zamknij nawias kwadratowy.
Przykład 8

zip() – łączenie wielu list w pary 

Linia 1. imiona znak równości otwórz nawias kwadratowy cudzysłów Ania cudzysłów przecinek cudzysłów Tomek cudzysłów przecinek cudzysłów Ola cudzysłów zamknij nawias kwadratowy. Linia 2. punkty znak równości otwórz nawias kwadratowy 45 przecinek 50 przecinek 42 zamknij nawias kwadratowy. Linia 4. for imie przecinek pkt in zip otwórz nawias okrągły imiona przecinek punkty zamknij nawias okrągły dwukropek. Linia 5. print otwórz nawias okrągły imie przecinek pkt zamknij nawias okrągły.

Wynik:

Linia 1. Ania 45. Linia 2. Tomek 50. Linia 3. Ola 42.
Przykład 9

Słownikowe wyrażenia składane:

Linia 1. d znak równości otwórz nawias klamrowy x dwukropek x asterysk asterysk 2 for x in range otwórz nawias okrągły 5 zamknij nawias okrągły zamknij nawias klamrowy. Linia 2. print otwórz nawias okrągły d zamknij nawias okrągły.

Wynik:

Linia 1. otwórz nawias klamrowy 0 dwukropek 0 przecinek 1 dwukropek 1 przecinek 2 dwukropek 4 przecinek 3 dwukropek 9 przecinek 4 dwukropek 16 zamknij nawias klamrowy.
Przykład 10

with – automatyczne zarządzanie zasobami

Zamiast:

Linia 1. plik znak równości open otwórz nawias okrągły cudzysłów dane kropka txt cudzysłów przecinek cudzysłów r cudzysłów zamknij nawias okrągły. Linia 2. dane znak równości plik kropka read otwórz nawias okrągły zamknij nawias okrągły. Linia 3. plik kropka close otwórz nawias okrągły zamknij nawias okrągły.

pythonicznie i bezpieczniej:

Linia 1. with open otwórz nawias okrągły cudzysłów dane kropka txt cudzysłów przecinek cudzysłów r cudzysłów zamknij nawias okrągły as plik dwukropek. Linia 2. dane znak równości plik kropka read otwórz nawias okrągły zamknij nawias okrągły.
Przykład 11

Idiom „if name == 'main':” Pozwala uruchomić kod tylko wtedy, gdy plik jest uruchamiany bezpośrednio (a nie importowany):

pythonicznie:

Linia 1. def test otwórz nawias okrągły zamknij nawias okrągły dwukropek. Linia 2. print otwórz nawias okrągły cudzysłów Działa wykrzyknik cudzysłów zamknij nawias okrągły. Linia 4. if podkreślnik podkreślnik name podkreślnik podkreślnik znak równości znak równości cudzysłów podkreślnik podkreślnik main podkreślnik podkreślnik cudzysłów dwukropek. Linia 5. test otwórz nawias okrągły zamknij nawias okrągły.

Podsumowanie

Pythonizmy to nie tylko ciekawostki językowe — to sposób myślenia o kodzie w stylu Pythona.
Dzięki nim programy stają się prostsze, bardziej zrozumiałe i bliższe naturalnemu językowi.

Warto stopniowo wprowadzać te konstrukcje do swoich programów, obserwując, jak skracają kod i ułatwiają jego czytanie.
Z czasem zauważysz, że pisanie w Pythonie stanie się bardziej intuicyjne, a Twój kod – naprawdę „pythoniczny”