Rozdział 5 · Pobawmy się liczbami!

Stopnie naukowe i korzenie

Podnoszenie do potęgi i pierwiastkowanie — ten sam obraz geometryczny, odczytany w dwóch kierunkach.

Teraz jest operacja, która ma najpiękniejszy obraz geometryczny ze wszystkich: Dyplom.

Kwadrat liczby to pole kwadratu

x ** 2 to powierzchnia kwadratu z bokiem x:

16strona = 4
4 ** 2 = 16 to pole kwadratu o boku 4
kvadrat.py
print(4 ** 2)    # 16
print(4 ** 3)    #64 – Cube: Ten sam pomysł, ale w trzech wymiarach (tom)

Pierwiastek kwadratowy to operacja odwrotna: od pola do boku

Jeżeli znana jest powierzchnia kwadratu, można znaleźć długość boku — to właśnie pierwiastek kwadratowy. Ta sama ilustracja, tylko czytamy ją w odwrotną stronę: mamy liczbę 16 w kwadracie i szukamy boku.

16strona = 4
√16 = 4 — problem odwrotny: mając daną powierzchnię, szukając boku.
koren.py
print(16 ** 0.5)     # 4.0 — stopień 0.5 to pierwiastek kwadratowy
import math
print(math.sqrt(16))  # 4.0 — to samo, ale wyraźnie i zrozumiale dla czytelnika
math.sqrt() czyta się lepiej niż ** 0,5
Obie opcje działają równie poprawnie, ale math.sqrt(16) natychmiast mówi czytelnikowi kodu: „Oto oni szukają źródła.” 16 ** 0.5 przypomina, że 0,5 to pierwiastek.

Trzy sposoby potęgowania — i w czym jest różnica

MetodaCo wracaPrzykład
**int jeśli oba operandy int; w przeciwnym razie float2 ** 101024
pow(a, b)to samo co a ** bpow(2, 10)1024
math.pow(a, b)zawsze float, nawet dla liczb całkowitychmath.pow(2, 10)1024.0
pow() ma trzeci, opcjonalny argument
pow(a, b, m) liczy (a ** b) % m, ale znacznie szybciej — dla dużych liczb przyspiesza pracę tysiąckrotnie. Jest wykorzystywana na przykład w kryptografii. Na razie wystarczy wiedzieć, że taka możliwość istnieje.
Praktyka: Stopnie naukowe i korzenie
Ten sam laptop, który łączy //, % i ** razem — czas ćwiczyć wszystkich operatorów specjalnych naraz
Otwórz praktykę →