Ta lekcja zawiera kilka faktów, dotyczących języka Python, które nie były uwzględnione we wcześniejszych lekcjach.
Opcje print
Do tej pory, jedynym sposobem na zobaczenie wydruku, było użycie funkcji print(), która może drukować w jednej lini kilka pozycji oddzielonych spacjami. W rzeczywistości, print() akceptuje argumenty z kilkoma słowami kluczowymi, które pozwalają, w zależności od potrzeb, modyfikować to zachowanie.
- Aby zmienić separator spację na inny łańcuch
S, należy podać argumentsep = «S» - Aby zastąpić znak "end-of-line" (koniec wiersza) innym łańcuchem
S, należy dołączyć argumentend = «S»
Tą nową możliwość, słów kluczowych argumentów, najłatwiej przedstawić poprzez kilka przykładów.
Te słowa kluczowe argumentów muszą być podane na końcu listy argumentów albo wystąpi error. Jeśli używasz obu, możesz je podać w dowolnej kolejności.
Poprawne Nazwy Zmiennej/Funkcji
- Nazwy mogą zawierać litery, cyfry i znak podkreślenia (
_). - Pierwszy znak w każdej nazwie musi być literą.
- Python odróżnia duże i małe litery.
Zatem my_3rd_int jest prawidłową nazwą zmiennej, ale 3rd_int nie.
Malejące pętle for & inne gradacje
Przypomnijmy, że pokazaliśmy, jak pętle for iterują rosnąco po liczbach:
Często istnieje potrzeba użycia pętli for, która przechodzi przez numery w kolejności malejącej (od największej do najmniejszej). W tym celu w range stosujemy trzeci argumentem nazywany step (krokiem):
Kiedy myślisz o zapisie range(0, 5), to jest on taki sam jak range(0, 5, 1): domyślny przyrost wynosi 1. W obu przypadkach należy pamiętać, że range(start, stop, step) kończy działanie tuż przed osiągnięciem limitu wartości stop. Więcej informacji można znaleźć w podręczniku Python manual.
Podobnie można użyć string[x:y:2], aby uzyskać łańcuch znaków x, x+2, x+4, ... lub string[y:x:-1], aby uzyskać odwróconą część łańcucha (gdzie y > x).
Po pętli for, kolejnym sposobem na osiągnięcie zmniejszającego się zakresu jest reversed(range(x, y)), który zmienia się od y-1 do x w porządku malejącym.
Pisanie Krótszego Kodu
Python daje mozliwość zapisu krótszego kodu na kilka sposobów; wprowadzimy kilka z nich tutaj.
![]() | Na tej stronie internetowej nie zawsze będziemy korzystać z tych możliwości, ponieważ użycie ich czasami sprawia, że kod jest trudniejszy do przeczytania. |
Operatory Przypisania
Python pozwala na zapis "x += 1", który oznacza "dodać jeden do x". Jest to więc równoważne zapisowi "x = x + 1", jak pokazano poniżej:
Podobnie jest dla operatorów dzielenia całkowitego (//=), modulo (%=), potęgowania (**=).
Bloki Wewnątrzliniowe
Widzieliśmy już kilka instrukcji, po których następuje wcięcie "bloków" kodu: for, if, else, elif, while i def, na przykład:
if x==y: «block» #indented, multilineW szczególnym przypadku, gdy
«block» jest tylko jedną linijką, Python umożliwia następującą alternatywną składnię:
if x==y: «block» #single lineOto przykład:
Ma to jednak swoje granice: blok złożony z podwójnych (if, for, etc) nie może być używany jako blok wewnątrzliniowy. Na przykład if 2>1: if 4>3: print() spowoduje syntax error (błąd składni).
Wielokrotne Przypisanie
Python umożliwia łączenie w jedną dwóch instrukcji przypisania:
Zauważ, że pozwala to rozwiązać nasze ćwiczenia wymiany, używając tylko jednej linii!
Łańcuch Porównań
Python umożliwia również łączenie kilku porównań w jedno:
v1 c1 v2 c2 v3 ..., gdzie v są wartościami a c są porównaniami, jest taki sam jak (v1 c1 v2) and (v2 c2 v3) and...
Domyślne Wartości dla [:] i range()
Gdy korzystasz z operatora podłańcucha [:], możesz pominąć jedną lub obydwie wartości początkową/końcową [:]. (Zobaczymy w następnej lekcji, że dotyczy to również list.) Domyślną wartością pierwszego indeksu jest 0 (początek łańcucha), a domyślną wartością ostatniego indeksu jest długość łańcucha. Podobnie range(n) jest krótką formą range(0, n).
None
Niektóre funkcje zwracają wartość jako główny efekt, np. abs(x). Ale inne funkcje, takie jak print(), jednak zwracają 'default' value None:
Oto None, które jest specjalną wartością używaną przez Pythona jako symbol zastępczy ogólnego przeznaczenia. Jeśli wywołasz type(None), dowiesz się, że None ma nawet swój własny typ NoneType. Skoro już jesteśmy przy tym temacie, spójrzmy, jaki jest typ zmiennej:
W następnym ćwiczeniu prosimy o uważne śledzenie wyników długiego polecenia z użyciem type i print.
print(type(print(type(type(print(print())))))) składa się z 4 linii. Rozmieść je we właściwej kolejności.- <class 'type'>
- <class 'NoneType'>
- «blank line»
- None
Na razie to są wszystkie wskazówki. Jesteś gotowy, aby kontynuować następną lekcję!




