Dodatek 1: moduły

Funkcjonalność biblioteki standardowej języka Python można w prosty sposób rozszeżyć poprzez importowanie dodatkowych modułów. Robimy to za pomocą komendy import. Mamy do dyspozycji kilka możliwości dodania funkcjonalności danego modułu. Aby wytłumaczyć jak to zrobić posłużymy się wspomnianą już w rozdziale 1 biblioteką matematyczną math.

Pierwszym, najczęściej spotykanym sposobem jest konstrukcja umożliwoająca wprowadzenie całego modułu do przestrzeni nazw

import <nazwa modułu>

Importując moduł w ten sposób możemy użyć innej nazwy na dany moduł za pomocą komendy as. Najczęściej używa się po prostu skrótu oryginalnej nazwy.

Pozwala to w szczególności pisać programy pod np: różne platformy lub za pomocą 2 różnych bibliotek o podobnych obiektach. Innym sposobem jest zaimportowanie konkretnych obiektów z modułu za pomocą konstrukcji

from <mazwa modułu> import obj1, obj2, ...

Szczególnym przypadkiem takiego sposobu jest zaimportowanie wszystkich dostępnych obiektów z danego modułu za pomocą gwiazdki *

Teraz dostępne są wszystkie funkcje, moduły, klasy z modułu math. Nie jest to jednak metoda preferowana, gdyż zbytnio zaśmieca przestrzeń nazw.

Moduł matematyczny math

Można to zrobić na przykład poprzez wykonanie poleceń:

import math

co spowoduje załadowanie wszystkich elementów tego modułu. Przykładowe funkcje zawarte w tym module to:

  • pierwiastkowanie (sqrt())
>>> math.sqrt(9)
  • wartość bezwzględna (abs())
>>> math.abs(-0.5)
  • funkcje trygonometryczne (sin(), cos(), tan())
>>> math.sin(27)
>>> math.cos(34)
>>> math.tan(3)
  • funkcje logarytmiczne i wykładnicze (exp(), log(), log10())
>>> math.exp(2)
>>> math.log10(100)  # logarytm o podstawie 10 ze 100
>>> math.log(e)  # logarytm naturalny
>>> math.log(9,3)  # logarytm o podstawie 3 z 9
  • konwersji miar kątów
>>> math.degrees(pi)  # zamiana z miary łukowej na kątową
180.0
>>> math.radians(60)  # zamiana z miary kątowej na łukową
1.0471975511965976
>>> math.sin(radians(60))
0.8660254037844386
  • deklaracje stałych matematycznych (pi, e)
>>> math.pi
3.141592653589793
>>> math.e
2.718281828459045
>>> math.sin(pi/2)
1.0
Next Section - Dodatek 2: funkcje specjalne w klasach