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

Порада

This tutorial is designed for programmers that are new to the Python language, not beginners who are new to programming.

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 website, 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 також підходить як мова розширення для настроюваних програм.

This tutorial introduces the reader informally to the basic concepts and features of the Python language and system. Be aware that it expects you to have a basic understanding of programming in general. It helps to have a Python interpreter handy for hands-on experience, but all examples are self-contained, so the tutorial can be read off-line as well.

Опис стандартних об’єктів і модулів див. Стандартна бібліотека Python. Довідник з мови Python дає більш формальне визначення мови. Щоб написати розширення на C або C++, прочитайте Розширення та вбудовування інтерпретатора Python і Python/C API reference manual. Є також кілька книг, які детально описують 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. Текст
    - 3.1.3. списки
  - 3.2. Перші кроки до програмування
- 4. Більше інструментів керування потоком
  - 4.1. `if` Інструкції
  - 4.2. `for` Заяви
  - 4.3. Функція `range()`
  - 4.4. `break` and `continue` Statements
  - 4.5. `else` Clauses on Loops
  - 4.6. `pass` Інструкції
  - 4.7. `match` Інструкції
  - 4.8. Визначення функцій
  - 4.9. Докладніше про визначення функцій
    - 4.9.1. Значення аргументів за замовчуванням
    - 4.9.2. Аргументи ключових слів
    - 4.9.3. Спеціальні параметри
      - 4.9.3.1. Позиційні або ключові аргументи
      - 4.9.3.2. Лише позиційні параметри
      - 4.9.3.3. Аргументи лише за ключовими словами
      - 4.9.3.4. Приклади функцій
      - 4.9.3.5. Підведення підсумків
    - 4.9.4. Списки довільних аргументів
    - 4.9.5. Розпакування списків аргументів
    - 4.9.6. Лямбда-вирази
    - 4.9.7. Рядки документації
    - 4.9.8. Анотації до функцій
  - 4.10. Intermezzo: стиль кодування
- 5. Структури даних
  - 5.1. Більше про списки
    - 5.1.1. Використання списків як стеків
    - 5.1.2. Використання списків як черг
    - 5.1.3. Розуміння списку
    - 5.1.4. Розуміння вкладених списків
    - 5.1.5. Unpacking in Lists and List Comprehensions
  - 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. Попередньо визначені дії з очищення
  - 8.9. Raising and Handling Multiple Unrelated Exceptions
  - 8.10. Enriching Exceptions with Notes
- 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. Brief tour of the standard library
  - 10.1. Operating system interface
  - 10.2. File wildcards
  - 10.3. Command-line arguments
  - 10.4. Error output redirection and program termination
  - 10.5. String pattern matching
  - 10.6. Математика
  - 10.7. Internet access
  - 10.8. Dates and times
  - 10.9. Data compression
  - 10.10. Performance measurement
  - 10.11. Quality control
  - 10.12. Batteries included
- 11. Brief tour of the standard library — part II
  - 11.1. Output formatting
  - 11.2. шаблонування
  - 11.3. Working with binary data record layouts
  - 11.4. Багатопотоковість
  - 11.5. Лісозаготівля
  - 11.6. Weak references
  - 11.7. Tools for working with lists
  - 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. Модулі налаштування