​​Размер окна терминала

Для оформления информации в терминале часто нужно знать размеры окна терминала (количество колонок и строк). Во встроенном модуле shutil можно найти функцию get_terminal_size, которая возвращает именованный кортеж: Или Или Например, сделаем разделитель с заголовком, как на фото. 1. Будем форматировать по центру значение в строку с заданной длинной, а пустые места заполнить каким-то символом. Для…

🔐 Храним секреты правильно

Наверное, каждый когда-то писал в своем коде: Это небезопасно и неудобно. Можно утащить доступы прямо из кода с машины или из репозитория. Можно хранить секретные данные в отдельных файлах конфигурации, передавать через переменные среды, но зачем это, если у современных ОС уже есть встроенные защищенные хранилища. Для хранения секретов и паролей придет на помощь библиотека…

Итераторы и генераторы

В чем разница между итератором и генератором? Этот вопрос можно часто услышать на собеседованиях. Итератор – более общая концепция, чем генератор. Итератор – это интерфейс доступа к элементам коллекций и потоков данных. Он требует реализации единственного метода – «дай мне следующий элемент». Если вы пишите свой итератор на Python 3 вам нужно реализовать в классе…

Звезды в Python

Звездочка (этот символ называется «астериск») – один из самых многоликих операторов в Python. Едва ли хватит пальцев руки, чтобы перечислить все его применения. Давайте по порядку. Умножение и размножение Самое простое применение одиночного астериска: умножение чисел. Двойного – возведение числа в степень. Если мы умножим список (или кортеж) на целое число, то получим новый список…