2. Używanie interpretera Pythona

2.1. Wywoływanie Interpretera

The Python interpreter is usually installed as /usr/local/bin/python3.12 on those machines where it is available; putting /usr/local/bin in your Unix shell’s search path makes it possible to start it by typing the command:

python3.12

do shella. [1] Jako że wybór katalogu, w którym znajdzie się interpreter, jest opcją instalacji, możliwe są inne lokalizacje; sprawdź ze swoim lokalnym pythonowym guru lub administratorem systemu. (Na przykład /usr/local/python jest popularną alternatywną lokalizacją.)

On Windows machines where you have installed Python from the Microsoft Store, the python3.12 command will be available. If you have the py.exe launcher installed, you can use the py command. See Excursus: Setting environment variables for other ways to launch Python.

Wpisanie znaku końca pliku (Control-D w Uniksie, Control-Z w Windowsie) w główną konsolę powoduje zakończenie interpretera z kodem wyjścia zero. Jeśli to nie zadziała, możesz opuścić interpreter wpisując następującą komendę: quit().

Funkcje edycji linii interpretera obejmują interaktywną edycję, zastępowanie historii i uzupełnianie kodu w systemach wspierających bibliotekę GNU Readline. Prawdopodobnie najszybszym sposobem sprawdzenia, czy posiadasz rozszerzone właściwości linii poleceń, jest naciśnięcie Control-P za pierwszym znakiem zachęty Pythona, który zobaczysz po jego uruchomieniu. Jeżeli zabrzęczy, masz edycję linii poleceń; zobacz wprowadzenie do klawiszy w dodatku Interaktywna edycja danych wejściowych oraz podstawianie z historii. Jeśli nic się nie zdarzy lub pojawi się ^P, to edycja linii poleceń nie jest dostępna; będziesz mógł tylko używać klawisza backspace, aby usuwać znaki z bieżącego wiersza.

Interpreter działa podobnie do uniksowej powłoki: kiedy jest wywołany ze standardowym wejściem połączonym z urządzeniem tty, czyta i wykonuje komendy interaktywnie. Gdy zostanie wywołany z argumentem w postaci nazwy pliku lub z plikiem jako standardowym wejściem, czyta i wykonuje skrypt z tego pliku.

Drugim sposobem na uruchomienie interpretera jest python -c komenda [arg] , co wykonuje polecenie (polecenia) zawarte w komendzie, analogicznie do opcji -c powłoki. Jako że polecenia Pythona często zawierają spacje lub inne znaki, które są interpretowane przez powłokę, zazwyczaj najlepiej jest umieścić komendę w całości w cudzysłowie.

Niektóre moduły Pythona są też przydatne jako skrypty. Mogą być one wywołane przy użyciu python -m moduł [arg] , co wykonuje plik źródłowy dla modułu tak jakbyś wpisał jego pełną nazwę w linii komend.

Kiedy używa się pliku skryptu, czasami przydatne jest móc uruchomić skrypt i następnie wejść w interaktywny. Można to zrobić przekazując -i przed skryptem.

Wszystkie opcje linii komend są opisane w Command line and environment.

2.1.1. Przekazywanie argumentów

Nazwa skryptu i dodatkowe argumenty, gdy są znane interpreterowi, są zamieniane w listę ciągów znaków i przypisywane zmiennej argv w module sys. Możesz dostać się do tej listy wykonując import sys. Długość listy jest przynajmniej równa jeden; gdy nie podano nazwy skryptu i żadnych argumentów wywołania, sys.argv[0], jest pustym ciągiem. Gdy nazwa skryptu przekazana jest w postaci '-' (co oznacza standardowe wejście), sys.argv[0] przyjmuje wartość '-'. Gdy zostanie użyte -c komenda, sys.argv[0], przyjmuje wartość '-c'. Gdy zostanie użyte -m moduł, sys.argv[0] przyjmie wartość pełnej nazwy znalezionego modułu. Opcje znalezione za -c komenda lub -m moduł nie są konsumowane przez przetwarzanie opcji interpretera Pythona, lecz pozostawiane w sys.argv do obsłużenia przez komendę lub moduł.

2.1.2. Tryb interaktywny

Jeżeli instrukcje są wczytywane z urządzenia tty, mówi się wtedy, że interpreter jest w trybie interaktywnym. Interpreter zachęca wtedy do podania kolejnej instrukcji wyświetlając tzw. znak zachęty, zwykle w postaci trzech znaków większości (>>>). Gdy wymaga kontynuacji instrukcji, w następnej linii wyświetla drugi znak zachęty, domyślnie trzy kropki (...). Interpreter wyświetla wiadomość powitania zawierającą jego wersję i notatkę o prawach autorskich przed wyświetleniem pierwszego znaku zachęty:

$ python3.12
Python 3.12 (default, April 4 2022, 09:25:04)
[GCC 10.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Linie kontynuacji są potrzebne przy wejściu w wielowierszową konstrukcję. Jako przykład, spójrzmy na to wyrażenie if:

>>> the_world_is_flat = True
>>> if the_world_is_flat:
...     print("Uważaj, żeby nie spaść!")
...
Uważaj, żeby nie spaść!

Więcej na temat trybu interaktywnego znajdziesz w Tryb interaktywny.

2.2. Interpreter i jego środowisko

2.2.1. Strona kodowa kodu źródłowego

Domyślnie pliki źródłowe Pythona są traktowane jako zakodowane w UTF-8. W tym kodowaniu znaki większości języków na świecie mogą być użyte jednocześnie w literałach ciągów znaków, identyfikatorach i komentarzach – jednak biblioteka standardowa używa jedynie znaków ASCII dla identyfikatorów, tej konwencji powinien przestrzegać każdy przenośny kod. Aby wyświetlić odpowiednio wszystkie te znaki, twój edytor musi rozpoznawać, że plik jest UTF-8 i musi używać fontu, który wspiera wszystkie znaki w tym pliku.

Aby zadeklarować kodowanie inne niż domyślne, powinno się dodać specjalną linię komentarza jako pierwszą linię pliku. Składnia jest następująca:

# -*- coding: encoding -*-

gdzie encoding jest jednym z poprawnych codecs wspieranych przez Pythona.

Na przykład aby zadeklarować używanie kodowania Windows-1252, pierwszą linią twojego kodu źródłowego powinno być:

# -*- coding: cp1252 -*-

Jedynym wyjątkiem dla reguły pierwszej linii jest, kiedy kod źródłowy zaczyna się uniksową linią „shebang”. W tym przypadku deklaracja kodowania powinna być dodana jako druga linia pliku. Na przykład:

#!/usr/bin/env python3
# -*- coding: cp1252 -*-

Przypisy