Poprzedni wykład     Lista wykładów     Następny wykład

Operatory i instrukcje sterujące

Operatory Operatory porównywania Operatory matematyczne Operatory logiczne Operatory bitowe Instrukcje sterujące Instrukcja if Pętla for Iteratory i generatory Pętla while

Operatory

Analogicznie do innych popularnych języków, istnieje w Pythonie operator trójargumentowy. Wygląda trochę nietypowo: wyrażenie_1 if warunek else wyrażenie_2. Wpierw ewaluowany jest warunek, jeśli jest spełniony ewaluowane jest wyrażenie_1, w przeciwnym razie wyrażenie_2:
x = 12
2**3 if x<13 else 3**2 ⇒ 8
x = 14
2**3 if x<13 else 3**2 ⇒ 9

Operatory porównywania

operator znaczenie
< mniejsze
<= mniejsze lub równe
> większe
>= większe lub równe
== równe co do wartości
!= negacja powyższego
is identyczne referencje
is not zaprzeczenie powyższego
Operatory porównywania mają dwie nietypowe cechy: Różnica między operatorami == oraz is
l1 = [1,2]
l2 = [1,2] #powstały dwie różne listy o identycznej zawartości
l1 == l2 ⇒ True
l1 is l2 ⇒ False
l3 = l1 #powstała nowa referencja do istniejącego obiektu (listy l1)
l1 is l3 ⇒ True
l2[0] = 5 #l1 i l2 to różne obiekty, zmiana l2 nie zmienia l1 
l1 ⇒ [1,2] 
l3[0] = 5 #l1 i l3 to referencje do tego samego obiektu, zmiana l3 zmienia l1
l1 ⇒ [5,2]
Spis treści

Operatory matematyczne i globalne (tzn. nie wymagające importowania modułu math) funkcje matematyczne

operator znaczenie
x + y dodawanie
x - y odejmowanie
x * y mnożenie
x ** y potęgowanie
pow(x, y) potęgowanie
x / y dzielenie
x // y dzielenie całkowite
x % y reszta z dzielenia
divmod(x, y) para (krotka, tupple) (x // y, x % y)
abs(x) wartość bezwzględna
round(x,[n=0]) zaokrąglenie do n miejsc po przecinku

Spis treści

Operatory logiczne

operator znaczenie
x or y jeżeli x == False, to y, w przeciwnym razie x
w przybliżeniu alternatywa
x and y jeżeli x == False, to x, w przeciwnym razie y
w przybliżeniu koniunkcja
not x negacja
Przykład:
a = True
b = 2
print (a or b) ⇒ True
print (b or a) ⇒ 2
print (b and a) ⇒ True
print (a and b) ⇒ 2

Operatory logiczne są "szybkie", ewaluacja wyrażenia jest przerywana gdy znana jest jego wartość logiczna.

z = 30
if (z<20) and f(z):
    ...
wartość funkcji f(z) nie zostanie obliczona.
Spis treści

Operatory bitowe, określone są tylko dla typów całkowitych

operator znaczenie
x | y bitowa alternatywa
x & y bitowa koniunkcja
x ^ y bitowe xor
~x bitowa negacja
x << n przesunięcie w lewo o n bitów
x >> n przesunięcie w prawo o n bitów

Spis treści

Instrukcje sterujące

Instrukcje sterujące to instrukcje warunkowe i pętle. Python ma tylko jedną instrukcję warunkową if. Chociaż nie ma w Pythonie instrukcji switch ani case, to składnia instrukcji if pozwala w czytelny sposób napisać kod opisujący rozwidlenie programu na wiele dróg.
Spis treści
Poprzedni wykład     Lista wykładów     Następny wykład