TODO¶
Book translation¶
13¶
- 13 Анонімна функція (лямбда-вираз)
- 13 Функція map
- 13 Функція filter
Add:
- return None or value
- raise vs return
- return PEP8
Лекції¶
05¶
- executable code
06¶
Корисні поради та прийоми:
- Генерація винятків із raise
- Порівняння is та ==
-
[] Зміна розміру списку/словника/множини під час перебору в циклі for
-
Перевірки щоб не було винятків vs обробка винятків (LBYL vs EAFP)
- Тернарний вираз value = True if x else False
- try/except Exception та try/except без винятку
- for/else, while/else
07¶
examples
- section file
Корисні прийоми:
- Робота з кількома файлами конфігурації
- Збір виведення з кількох файлів конфігурації до словника
- Збір виведення з кількох файлів конфігурації до словника
- Фільтрування рядків з одного файлу та запис в інший
- Додати шлях до імені файлу
08 debug¶
- pdb
09¶
Приклади:
- old/examples_10_parse_sh_ip_int_br.py
- old/examples_11_count_down_ports.py
Корисні прийоми та важливі нюанси:
- Використання глобальних змінних замість аргументів
- Розпакування позиційних та ключових аргументів функції/метод
- Список у який збираються дані до функцій, створений за межами функції
- Значення за замовчуванням створюються на момент створення функції
- Функції locals, globals
Налагодження коду з функціями:
- debug 12. Thonny. Налагодження коду з функціями
- debug 13. Pdb(ipdb). Налагодження коду з функціями
- debug 14. Traceback коду з функціями
Ітератор, ітерований об'єкт¶
11¶
- Що таке модуль
- Локальні та глобальні змінні, функції locals, globals
- Імпорт модулів
- Де писати імпорт модулів
- if name == "main"
- Шляхи пошуку модулів
Корисні прийоми
- ipython autoreload
- Функція main
- Порядок коду у файлі
Поради щодо завдань:
- Викликати код у if name == "main"
Extra:
- Q&A (Опціонально) Як організувати код у проекті Python
12¶
- Вступна частина за модулями
- pprint
- glob
- tabulate
- ipaddress
- os
- rich
- subprocess. Функція run
- subprocess. Робота з Popen
- приклад 01. subprocess.Popen та zip
13¶
*args
,**kwargs
*
,/
-
розпакування аргументів
-
Функція lambda
- Функція map
- Функція filter
-
10 tips & tricks. 01. Використання str.lower та інших методів рядків замість функцій у map/filter
-
Краще не змінювати аргументи усередині функції
- Аргументи, які можна передавати тільки як ключові/позиційні
- Анотація типів у функціях
- Зірочки тут, зірочки там
- Чи є якісь рекомендації щодо розташування функцій у коді?
Приклади
- Використовуємо функцію password_check для перевірки списку користувачів, паролів
- Функція select_correct_password для вибору списку правильних і неправильних паролів
- Функція select_correct_password, додаємо **kwargs