This document is for an old version of Python that is no longer supported. You should upgrade, and read the Python documentation for the current stable release.

# Підручник з Python

Python — це потужна мова програмування, яка проста у вивченні. Він має ефективні структури даних високого рівня та простий, але ефективний підхід до об’єктно-орієнтованого програмування. Елегантний синтаксис і динамічна типізація Python разом з його інтерпретованим характером роблять його ідеальною мовою для створення сценаріїв і швидкої розробки додатків у багатьох сферах на більшості платформ.

The Python interpreter and the extensive standard library are freely available in source or binary form for all major platforms from the Python Web site, https://www.python.org/, and may be freely distributed. The same site also contains distributions of and pointers to many free third party Python modules, programs and tools, and additional documentation.

Інтерпретатор Python легко розширюється за допомогою нових функцій і типів даних, реалізованих у C або C++ (або інших мовах, які можна викликати з C). Python також підходить як мова розширення для настроюваних програм.

Цей підручник неформально знайомить читача з основними концепціями та функціями мови та системи Python. Вам допоможе мати під рукою інтерпретатор Python для практичного досвіду, але всі приклади є самодостатніми, тому підручник також можна читати офлайн.

Опис стандартних об’єктів і модулів див. Стандартна бібліотека Python. Довідник з мови Python дає більш формальне визначення мови. Щоб написати розширення на C або C++, прочитайте Розширення та вбудовування інтерпретатора Python і Довідковий посібник з API Python/C. Є також кілька книг, які детально описують Python.

Цей підручник не намагається бути вичерпним і охопити кожну окрему функцію чи навіть кожну функцію, що часто використовується. Натомість він представляє багато найбільш вартих уваги функцій Python і дасть вам гарне уявлення про смак і стиль мови. Прочитавши його, ви зможете читати та писати модулі та програми Python, а також будете готові дізнатися більше про різні модулі бібліотеки Python, описані в Стандартна бібліотека Python.

Глосарій також варто переглянути.

- 1. Розпалювання апетиту
- 2. Використання інтерпретатора Python
  - 2.1. Виклик Інтерпретатора
    - 2.1.1. Передача аргументу
    - 2.1.2. Інтерактивний режим
  - 2.2. Інтерпретатор і його середовище
    - 2.2.1. Кодування вихідного коду
- 3. Неформальний вступ до Python
  - 3.1. Використання Python як калькулятора
    - 3.1.1. Числа
    - 3.1.2. Strings
    - 3.1.3. списки
  - 3.2. Перші кроки до програмування
- 4. Більше інструментів керування потоком
  - 4.1. `if` Інструкції
  - 4.2. `for` Заяви
  - 4.3. Функція `range()`
  - 4.4. `break` and `continue` Statements, and `else` Clauses on Loops
  - 4.5. `pass` Інструкції
  - 4.6. Визначення функцій
  - 4.7. Докладніше про визначення функцій
    - 4.7.1. Значення аргументів за замовчуванням
    - 4.7.2. Аргументи ключових слів
    - 4.7.3. Спеціальні параметри
      - 4.7.3.1. Позиційні або ключові аргументи
      - 4.7.3.2. Лише позиційні параметри
      - 4.7.3.3. Аргументи лише за ключовими словами
      - 4.7.3.4. Приклади функцій
      - 4.7.3.5. Підведення підсумків
    - 4.7.4. Списки довільних аргументів
    - 4.7.5. Розпакування списків аргументів
    - 4.7.6. Лямбда-вирази
    - 4.7.7. Рядки документації
    - 4.7.8. Анотації до функцій
  - 4.8. Intermezzo: стиль кодування
- 5. Структури даних
  - 5.1. Більше про списки
    - 5.1.1. Використання списків як стеків
    - 5.1.2. Використання списків як черг
    - 5.1.3. Розуміння списку
    - 5.1.4. Розуміння вкладених списків
  - 5.2. Оператор `del`
  - 5.3. Кортежі та послідовності
  - 5.4. Набори
  - 5.5. словники
  - 5.6. Техніка циклу
  - 5.7. Детальніше про умови
  - 5.8. Порівняння послідовностей та інших типів
- 6. Модулі
  - 6.1. Детальніше про модулі
    - 6.1.1. Виконання модулів у вигляді скриптів
    - 6.1.2. Шлях пошуку модуля
    - 6.1.3. «Компільовані» файли Python
  - 6.2. Стандартні модулі
  - 6.3. Функція `dir()`
  - 6.4. пакети
    - 6.4.1. Імпортування * з пакету
    - 6.4.2. Внутрішньопакетні посилання
    - 6.4.3. Пакунки в кількох каталогах
- 7. Вхід і вихід
  - 7.1. Вишуканіше форматування виводу
    - 7.1.1. Відформатовані рядкові літерали
    - 7.1.2. Метод String format().
    - 7.1.3. Ручне форматування рядка
    - 7.1.4. Старе форматування рядка
  - 7.2. Читання та запис файлів
    - 7.2.1. Методи файлових об’єктів
    - 7.2.2. Збереження структурованих даних за допомогою `json`
- 8. Помилки та винятки
  - 8.1. Синтаксичні помилки
  - 8.2. Винятки
  - 8.3. Обробка винятків
  - 8.4. Створення винятків
  - 8.5. З’єднання винятків
  - 8.6. Винятки, визначені користувачем
  - 8.7. Визначення дій з очищення
  - 8.8. Попередньо визначені дії з очищення
- 9. Класи
  - 9.1. Слово про імена та предмети
  - 9.2. Області та простори імен Python
    - 9.2.1. Приклад областей і просторів імен
  - 9.3. Перший погляд на заняття
    - 9.3.1. Синтаксис визначення класу
    - 9.3.2. Об’єкти класу
    - 9.3.3. Об’єкти екземпляра
    - 9.3.4. Об’єкти методу
    - 9.3.5. Змінні класу та екземпляра
  - 9.4. Випадкові зауваження
  - 9.5. Спадщина
    - 9.5.1. Множинне успадкування
  - 9.6. Приватні змінні
  - 9.7. Обривки
  - 9.8. Ітератори
  - 9.9. Генератори
  - 9.10. Генератор виразів
- 10. Коротка екскурсія Стандартною бібліотекою
  - 10.1. Інтерфейс операційної системи
  - 10.2. Символи підстановки файлів
  - 10.3. Аргументи командного рядка
  - 10.4. Перенаправлення виводу помилки та завершення програми
  - 10.5. Відповідність шаблону рядка
  - 10.6. Математика
  - 10.7. Доступ в інтернет
  - 10.8. Дати та час
  - 10.9. Стиснення даних
  - 10.10. Вимірювання ефективності
  - 10.11. Контроль якості
  - 10.12. Батарейки в комплекті
- 11. Короткий огляд Стандартної бібліотеки — Частина II
  - 11.1. Форматування виводу
  - 11.2. шаблонування
  - 11.3. Робота з макетами записів двійкових даних
  - 11.4. Багатопотоковість
  - 11.5. Лісозаготівля
  - 11.6. Слабкі посилання
  - 11.7. Інструменти для роботи зі списками
  - 11.8. Decimal Floating Point Arithmetic
- 12. Віртуальні середовища та пакети
  - 12.1. вступ
  - 12.2. Створення віртуальних середовищ
  - 12.3. Керування пакетами за допомогою pip
- 13. Що тепер?
- 14. Інтерактивне редагування введення та заміна історії
  - 14.1. Доповнення вкладок і редагування історії
  - 14.2. Альтернативи інтерактивному інтерпретатору
- 15. Floating Point Arithmetic: Issues and Limitations
  - 15.1. Помилка представлення
- 16. Додаток
  - 16.1. Інтерактивний режим
    - 16.1.1. Обробка помилок
    - 16.1.2. Виконувані скрипти Python
    - 16.1.3. Інтерактивний файл запуску
    - 16.1.4. Модулі налаштування