# 2. Використання інтерпретатора Python

## 2.1. Виклик Інтерпретатора

The Python interpreter is usually installed as `/usr/local/bin/python3.11` 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.11

до оболонки. [1] Оскільки вибір каталогу, де знаходиться інтерпретатор, є опцією встановлення, можливі інші місця; зверніться до місцевого гуру Python або системного адміністратора. (Наприклад, `/usr/local/python` є популярним альтернативним розташуванням.)

On Windows machines where you have installed Python from the Microsoft Store, the `python3.11` command will be available. If you have the py.exe launcher installed, you can use the `py` command. See Екскурс: Встановлення змінних середовища for other ways to launch Python.

Введення символу кінця файлу (``Control`-`D`` в Unix, ``Control`-`Z`` в Windows) у первинному запиті призводить до виходу інтерпретатора з нульовим статусом виходу. Якщо це не спрацює, ви можете вийти з інтерпретатора, ввівши таку команду: `quit()`.

Функції рядкового редагування інтерпретатора включають інтерактивне редагування, заміну історії та завершення коду в системах, які підтримують бібліотеку GNU Readline. Можливо, найшвидший спосіб перевірити, чи підтримується редагування командного рядка, це ввести ``Control`-`P`` у перше запрошення Python, яке ви отримаєте. Якщо він подає звуковий сигнал, у вас є редагування командного рядка; дивіться Додаток Інтерактивне редагування введення та заміна історії для ознайомлення з ключами. Якщо нічого не відбувається або відображається `^P`, редагування командного рядка недоступне; Ви зможете використовувати клавішу Backspace лише для видалення символів із поточного рядка.

Інтерпретатор працює дещо подібно до оболонки Unix: при виклику зі стандартним введенням, підключеним до пристрою tty, він читає та виконує команди в інтерактивному режимі; при виклику з аргументом імені файлу або з файлом як стандартним введенням він читає та виконує сценарій із цього файлу.

A second way of starting the interpreter is `python -c command [arg] ...`, which executes the statement(s) in command, analogous to the shell’s `-c` option. Since Python statements often contain spaces or other characters that are special to the shell, it is usually advised to quote command in its entirety.

Деякі модулі Python також корисні як сценарії. Їх можна викликати за допомогою `python -m module [arg] ...`, яка виконує вихідний файл для module так, ніби ви ввели його повне ім’я в командному рядку.

Коли використовується файл сценарію, іноді корисно мати можливість запустити сценарій і перейти в інтерактивний режим після цього. Це можна зробити, передавши `-i` перед сценарієм.

Усі параметри командного рядка описані в Командний рядок і середовище.

### 2.1.1. Передача аргументу

Якщо ім’я сценарію та додаткові аргументи відомі інтерпретатору, вони перетворюються на список рядків і призначаються змінній `argv` у модулі `sys`. Ви можете отримати доступ до цього списку, виконавши `import sys`. Довжина списку принаймні одна; якщо сценарій і аргументи не задані, sys.argv[0] є порожнім рядком. Якщо ім’я сценарію вказано як `'-''` (що означає стандартний ввід), `sys.argv[0]` має значення `'-'`. Коли `-c` команда використовується, `sys.argv[0]` має значення `'-c'`. Коли `-m` module використовується, `sys.argv[0]` встановлюється на повну назву розташованого модуля. Параметри, знайдені після `-c` command або `-m` module, не використовуються обробкою параметрів інтерпретатора Python, а залишаються в `sys.argv` для обробки команди або модуля .

### 2.1.2. Інтерактивний режим

Коли команди читаються з tty, кажуть, що інтерпретатор перебуває в інтерактивному режимі. У цьому режимі він запитує наступну команду за допомогою основного підказки, як правило, трьох знаків «більше» (`>>>`); для рядків продовження він запитує другорядним запитом, за замовчуванням три крапки (`...`). Інтерпретатор друкує вітальне повідомлення із зазначенням номера версії та повідомлення про авторські права перед друком першого запиту:

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

Під час введення багаторядкової конструкції потрібні рядки продовження. Як приклад, подивіться на цей оператор `if`:

    >>> the_world_is_flat = True
    >>> if the_world_is_flat:
    ...     print("Be careful not to fall off!")
    ...
    Be careful not to fall off!

Щоб дізнатися більше про інтерактивний режим, перегляньте Інтерактивний режим.

## 2.2. Інтерпретатор і його середовище

### 2.2.1. Кодування вихідного коду

За замовчуванням вихідні файли Python розглядаються як закодовані в UTF-8. У цьому кодуванні символи більшості мов світу можуть використовуватися одночасно в рядкових літералах, ідентифікаторах і коментарях — хоча стандартна бібліотека використовує лише символи ASCII для ідентифікаторів, угоду, якої повинен дотримуватися будь-який портативний код. Щоб правильно відобразити всі ці символи, ваш редактор має розпізнати, що файл має UTF-8, і він має використовувати шрифт, який підтримує всі символи у файлі.

Щоб оголосити кодування, відмінне від кодування за замовчуванням, слід додати спеціальний рядок коментаря як перший рядок файлу. Синтаксис такий:

    # -*- coding: encoding -*-

де кодування є одним із дійсних `codecs`, які підтримуються Python.

Наприклад, щоб оголосити, що потрібно використовувати кодування Windows-1252, перший рядок вашого файлу вихідного коду має бути:

    # -*- coding: cp1252 -*-

Одним винятком із правила першого рядка є випадки, коли вихідний код починається з рядка UNIX «shebang». У цьому випадку оголошення кодування має бути додано як другий рядок файлу. Наприклад:

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

Виноски

[1]

В Unix інтерпретатор Python 3.x за замовчуванням не встановлюється з виконуваним файлом під назвою `python`, тому він не конфліктує з одночасно встановленим виконуваним файлом Python 2.x.