🇺🇦 УКРАЇНА ЗАЗНАЄ ЗБРОЙНОЇ АГРЕСІЇ З БОКУ РОСІЙСЬКОЇ АРМІЇ. ГИНУТЬ МИРНІ ЖИТЕЛІ. ЖИТЛОВІ КВАРТАЛИ ЗАЗНАЮТЬ БОМБАРДУВАНЬ.
- Допоможіть Україні:
- Більше інформації на war.ukraine.ua та МЗС України
Це колекція скриптів мовою Python, розподілених за темами, що містять приклади коду з поясненнями, різними варіантами використання та посиланнями на додаткові матеріали.
Це пісочниця, тому що ви можете змінювати або доповнювати код, щоб побачити, як він працює, і тестувати його за допомогою тверджень. Також ви можете перевіряти код, який ви написали, і з'ясувати, чи відповідає він настановам зі стилю Python. Усе це може зробити процес навчання інтерактивнішим і допоможе підтримувати високу якість коду від самого початку.
Це шпаргалка, тому що ви можете повертатися до цих прикладів коду щоразу, коли захочете повторити синтаксис стандартних інструкцій і конструкцій Python. А оскільки код містить багато тверджень, ви зможете бачити очікуваний результат функцій та виразів одразу, без їх запуску.
Вас також може зацікавити 🤖 Interactive Machine Learning Experiments
Кожен скрипт Python у цьому репозиторії має таку структуру:
"""Lists <--- Назва теми
# @see: https://www.learnpython.org/en/Lists <-- Посилання на додаткові матеріали
Тут може бути детальніше пояснення поточної теми (наприклад, загальна інформація про списки).
"""
def test_list_type():
"""Пояснення підтеми.
Кожен файл містить тестові функції, які ілюструють підтеми (наприклад, тип списку, методи списків).
"""
# Ось приклад побудови списку. <-- Коментарі пояснюють дію
squares = [1, 4, 9, 16, 25]
# Списки можна індексувати та зрізати (sliced).
# Індексування повертає елемент.
assert squares[0] == 1 # <-- Твердження ілюструють результат.
# Зрізання повертає новий список.
assert squares[-3:] == [9, 16, 25] # <-- Твердження ілюструють результат.Зазвичай ви можете зробити наступне:
- Знайти тему, яку хочете вивчити або повторити.
- Прочитати коментарі та/або документацію, на яку є посилання в docstring кожного скрипта (як у прикладі вище).
- Переглянути приклади коду та твердження, щоб побачити варіанти використання й очікуваний результат.
- Змінити код або додати нові твердження, щоб побачити, як усе працює.
- Запустити тести та перевірити код, щоб переконатися, що він працює і написаний правильно.
- Початок роботи
- Оператори
- Арифметичні оператори (
+,-,*,/,//,%,**) - Побітові оператори (
&,|,^,>>,<<,~) - Оператори присвоєння (
=,+=,-=,/=,//=тощо) - Оператори порівняння (
==,!=,>,<,>=,<=) - Логічні оператори (
and,or,not) - Оператори ідентичності (
is,is not) - Оператори належності (
in,not in)
- Арифметичні оператори (
- Типи даних
- Керування потоком виконання
- Інструкція
if - Інструкція
for(і функціяrange()) - Інструкція
while - Інструкція
try - Інструкція
break - Інструкція
continue
- Інструкція
- Функції
- Визначення функції (інструкції
defіreturn) - Області видимості змінних у функціях (інструкції
globalіnonlocal) - Стандартні значення аргументів
- Іменовані аргументи
- Довільні списки аргументів
- Розпакування списків аргументів (інструкції
*і**) - Лямбда-вирази (інструкція
lambda) - Рядки документації
- Анотації функцій
- Декоратори функцій
- Визначення функції (інструкції
- Класи
- Модулі
- Помилки та винятки
- Обробка винятків (інструкція
try) - Генерування винятків (інструкція
raise)
- Обробка винятків (інструкція
- Файли
- Читання та записування (інструкція
with) - Методи файлових об'єктів
- Читання та записування (інструкція
- Додатково
- Інструкція
pass - Генератори (інструкція
yield)
- Інструкція
- Короткий огляд стандартних бібліотек
- Серіалізація (бібліотека
json) - Шаблони пошуку файлів (бібліотека
glob) - Пошук за шаблоном у рядках (бібліотека
re) - Математика (бібліотеки
math,random,statistics) - Дата і час (бібліотека
datetime) - Стиснення даних (бібліотека
zlib)
- Серіалізація (бібліотека
- Введення користувача
- Введення з терміналу (інструкція
input)
- Введення з терміналу (інструкція
Встановлення Python
Переконайтеся, що на вашому комп'ютері встановлено Python 3.
Ви можете використовувати стандартну бібліотеку Python venv для створення віртуальних середовищ, щоб Python, pip та всі залежні пакети встановлювалися й працювали з локальної теки проєкту, а не впливали на системні пакети та їхні версії.
Залежно від вашої інсталяції, доступ до інтерпретатора Python 3 можна отримати, виконавши команду python або python3. Те саме стосується менеджера пакетів pip — він може бути доступний через pip або pip3.
Перевірити версію Python можна, виконавши:
python --versionЗверніть увагу, що в цьому репозиторії, коли ви бачите python, мається на увазі Python 3.
Встановлення залежностей
Встановіть усі необхідні залежності проєкту, виконавши:
pip install -r requirements.txtТести написані з використанням фреймворку pytest.
Ви можете додавати власні тести, створюючи файли та функції з префіксом test_ (наприклад, test_topic.py з функцією def test_sub_topic() всередині).
Щоб запустити всі тести, виконайте з кореневої теки проєкту:
pytestЩоб запустити окремі тести, виконайте:
pytest ./path/to/the/test_file.pyПеревірка коду виконується за допомогою бібліотек pylint та flake8.
Щоб перевірити, чи написаний код відповідно до настанов зі стилю PEP 8, виконайте:
pylint ./src/Якщо лінтер виявить помилку (наприклад, missing-docstring), ви можете дізнатися про неї більше, виконавши:
pylint --help-msg=missing-docstringЩоб перевірити, чи написаний код відповідно до настанов зі стилю PEP 8, виконайте:
flake8 ./srcАбо, якщо ви хочете отримати детальніший вивід:
flake8 ./src --statistics --show-source --count