Перейти до змісту

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