Программисты бывают 4х типов. К какому относитесь вы? 🤔
Anonymous Poll
4%
Front-End программист
33%
Back-End программист
10%
Fullstack программист
52%
Ctrl+C - Ctrl+V программист
Декорируем функции
Декоратор – это обертка вокруг функции, которая определенным образом изменяет ее поведение. Существуют варианты использования декораторов, и вы, возможно, уже применяли их раньше при работе с такими фреймворками, как Flask.
Внутри print_argument мы определяем функцию-обертку. Она выводит аргумент и имя вызываемой функции, выполняет фактическую функцию и возвращает ее результат, как если бы функция вызывалась «обычно».
С помощью print_argument мы применяем наш декоратор к функции. Декоратор может быть повторно использован и для других функций.
Декоратор – это обертка вокруг функции, которая определенным образом изменяет ее поведение. Существуют варианты использования декораторов, и вы, возможно, уже применяли их раньше при работе с такими фреймворками, как Flask.
Внутри print_argument мы определяем функцию-обертку. Она выводит аргумент и имя вызываемой функции, выполняет фактическую функцию и возвращает ее результат, как если бы функция вызывалась «обычно».
С помощью print_argument мы применяем наш декоратор к функции. Декоратор может быть повторно использован и для других функций.
Работаем с файловыми путями
В стандартной библиотеке есть максимально удобный пакет
Для представления пути к файлу есть класс
Но самой классной фичей является замена
Итого, пакет
#pathlib
В стандартной библиотеке есть максимально удобный пакет
pathlib
для простой работы с файловыми путями. Для представления пути к файлу есть класс
Path
, с объектами которого уже можно производить операции. Например, методы exists()
и is_dir()
проверяют, существует ли файл и является ли он директорией. Но самой классной фичей является замена
os.path.join()
на более удобный и элегантный вариант с использованием слэшей, как показано на картинке. Итого, пакет
pathlib
может стать частичной заменой os
в некоторых случаях при работе с файловыми путями. #pathlib
Флаги явного преобразования
Флаг явного преобразования (Explicit Conversion Flag) используется для преобразования значения поля
Это поле можно использовать для переопределения поведения
В примере, в случае с флагом
#строки
Флаг явного преобразования (Explicit Conversion Flag) используется для преобразования значения поля
format
перед его непосредственным форматированием. Это поле можно использовать для переопределения поведения
format
для какого либо конкретного типа и форматирования значения. В настоящее время распространены два явных флага преобразования: !r
— преобразует значение в строку, используя функцию repr()
.!s
— преобразует значение в строку, используя функцию str()
.В примере, в случае с флагом
!r
строка 'Hello'
будет напечатана с кавычками в поле шириной не менее 20 символов, а в случае с флагом !s
— без кавычек (в более удобном для чтения виде). #строки
Функция eval()
Встроенная функция кажется простой на первый взгляд, однако таит в себе много интересного. Позволяет выполнить python-код, который идет в качестве аргумента. Причем, в строковом представлении.
На проверку может оказаться очень интересным инструментом, от создания калькулятора в две строки, до более серьезных и глубоких штук. Эксперементируйте!
Встроенная функция кажется простой на первый взгляд, однако таит в себе много интересного. Позволяет выполнить python-код, который идет в качестве аргумента. Причем, в строковом представлении.
На проверку может оказаться очень интересным инструментом, от создания калькулятора в две строки, до более серьезных и глубоких штук. Эксперементируйте!