Importowanie modułów i uruchamianie skryptów

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 6878 razy

Do każdego skryptu można dodawać moduły. Można to robić na kilka różnych sposobów, zanim jednak omówię je poniżej zamieszczam kilka standardowych modułów:

Import modułów

Zawartość danego modułu można zaimportować w następujący sposób:

import math x = math.sin(math.pi / 6)

Jak widać załączenie modułu math za pomocą słowa kluczowego import udostępnia wszystkie zawarte w tymże module zmienne, funkcje i klasy w jednej przestrzeni nazw, która odpowiada nazwie modułu. Czasami nazwa modułu jest przydługawa, co może zniechęcić do jej używania i wtedy można sobie uprościć nieco życie korzystając z następującego sposobu załączenia danego modułu:

import math as mt x = mt.sin(mt.pi / 6)

Innym razem nie opłaca się załączać wszystkiego, co znajduje się w danym module. W takim przypadku można użyć następującego zapisu w celu załączenia jednej, lub dwóch funkcji zawartych w danym module:

from math import sin, pi x = sin(pi / 30)

Jak widać, w tym przypadku funkcje są dostępne w sposób bezpośredni (bez konieczności używania nazwy modułu jako przestrzeni nazw). Można oczywiście załączyć wszystkie funkcje danego modułu za pomocą takiego oto zapisu:

from math import * x = sin(pi / 30)

I chociaż będzie to poprawne, jednakże nie zaleca się użycia takiego sposobu załączania elementów danego modułu. Jest to spowodowane tym, że w Pythonie wszystko jest etykietą na obiekt a to z kolei oznacza, że każda funkcja znajdująca się w danym module może zostać nadpisana przez inną funkcję, która niefortunnie akurat ma taką samą nazwę i została zaimportowana w sposób taki jak powyżej (bez przestrzeni nazw). Taki błąd może być trudny do wykrycia, zwłaszcza gdy w sposób niejawny złączane są te funkcje.

Uruchamianie skryptów

Istnieje kilka sposobów na uruchamianie skryptów zawartych w plikach *.py. Z poziomu Pythona skrypt można uruchomić w następujący sposób:

run "ścieżka_względna_lub_bezwzględna_do_pliku.py"

Z poziomu samej konsoli:

python3 "ścieżka_względna_lub_bezwzględna_do_pliku.py"
Propozycje książek