📌 Loguru
Выбросьте logging, удалите его из стандартных библиотек и установите loguru. Вы не пожалеете.
Установка:
Ещё интересной фишкой является отправка сообщений на почту. Установив notifiers, вы сможете пересылать ошибки к себе на email.
📕 Документация
#урок
Выбросьте logging, удалите его из стандартных библиотек и установите loguru. Вы не пожалеете.
Установка:
pip install loguru
Можно догадаться, что это модуль для ведения записей, но он намного лучше встроенного решения. С ним в разы проще работать, он легко настраивается и управляется.Ещё интересной фишкой является отправка сообщений на почту. Установив notifiers, вы сможете пересылать ошибки к себе на email.
📕 Документация
#урок
📌 Roadmap по Python
Это дорожная карта, составленная более опытными разработчиками, чтобы новички знали с чего начать свой путь и куда двигаться дальше.
#roadmap
Это дорожная карта, составленная более опытными разработчиками, чтобы новички знали с чего начать свой путь и куда двигаться дальше.
#roadmap
Фокус с type
Знали ли вы, что с помощью type можно создавать типы? Просто передайте ему на пару аргументов больше и вы получите новый класс!
Так мы можем создать абсолютно новый класс и пользоваться им во время выполнения. Не очень стабильно, но интересно.
📕 Документация
#урок
Знали ли вы, что с помощью type можно создавать типы? Просто передайте ему на пару аргументов больше и вы получите новый класс!
Так мы можем создать абсолютно новый класс и пользоваться им во время выполнения. Не очень стабильно, но интересно.
📕 Документация
#урок
📌 Устали удалять
В этой папке хранится байткод приложения. И нет, я не говорю, что Python компилируемый язык, он просто заранее обрабатывает код и сохраняет, чтобы быстрее выполнится.
В ней можно найти .pyc и .pyo файлы. Это байткод и оптимизированный байткод. Они создаются заново, если код программы изменился.
📕 Подробнее
#урок
__pycache__
?В этой папке хранится байткод приложения. И нет, я не говорю, что Python компилируемый язык, он просто заранее обрабатывает код и сохраняет, чтобы быстрее выполнится.
В ней можно найти .pyc и .pyo файлы. Это байткод и оптимизированный байткод. Они создаются заново, если код программы изменился.
📕 Подробнее
#урок
📌 Дескрипторы
Это невероятно сложная, но класса штука. Проще говоря, это атрибуты-классы с методами
Когда мы получаем значение атрибута, вызывается
📕 HowTo
#урок
Это невероятно сложная, но класса штука. Проще говоря, это атрибуты-классы с методами
__get__(obj, objtype)
, __set__(obj, value)
и/или __delete__(obj)
.Когда мы получаем значение атрибута, вызывается
__get__()
, поведением которого управляем мы. Так мы можем создать, например, константу.📕 HowTo
#урок
📌 Немного про регулярные выражения
Регулярные выражения пишутся только один раз и больше не трогаются. Их просто нереально разобрать и изменить.
Но ситуацию можно исправить, если добавить комментарии и правильно воспользоваться f-строками.
📕 Статья по этой теме
#урок
Регулярные выражения пишутся только один раз и больше не трогаются. Их просто нереально разобрать и изменить.
Но ситуацию можно исправить, если добавить комментарии и правильно воспользоваться f-строками.
📕 Статья по этой теме
#урок
📌 Модуль copy
В python есть модуль, который называется copy. У него только две функции:
📕 Документация
#урок
В python есть модуль, который называется copy. У него только две функции:
copy()
и deepcopy()
.copy(x)
— поверхностно копирует объект. Просто создаёт новый, сохраняя все ссылки внутри него.deepcopy(x)
— глубокое клонирование. Создаёт новый и рекурсивно копирует элементы внутри.📕 Документация
#урок
Отсутствующие элементы в словаре
Если в словаре нет определённого ключа, то вызывается
Примерно по такому принципу, как на фото выше, работает defaultdict из модуля collections.
#урок
Если в словаре нет определённого ключа, то вызывается
__missing__
. Суть в том, что мы можем переопределить этот метод.Примерно по такому принципу, как на фото выше, работает defaultdict из модуля collections.
#урок
📌 Методы строк, о которых нужно знать
• ljust, rjust, center — используются для позиционирования текста. На самом деле, они просто создают строку, не меньше width и заполняют её пробелами (или другим, переданным символом).
• strip — удаляет пробелы, табуляцию, перенос на новую строку и тому подобные символы из конца и начала строки. Если передать другие символы, то функция избавится от них. rstrip и lstrip делают то же самое, только в конце и в начале строки.
• splitlines — возвращает список строк в тексте. Его лучше использовать вместо
#урок
• ljust, rjust, center — используются для позиционирования текста. На самом деле, они просто создают строку, не меньше width и заполняют её пробелами (или другим, переданным символом).
• strip — удаляет пробелы, табуляцию, перенос на новую строку и тому подобные символы из конца и начала строки. Если передать другие символы, то функция избавится от них. rstrip и lstrip делают то же самое, только в конце и в начале строки.
• splitlines — возвращает список строк в тексте. Его лучше использовать вместо
split('\n')
. #урок
📌
·
·
#урок
isdecimal()
vs isdigit()
vs isnumeric()
Эти три метода str используются для определения, является ли строка числом, но у них есть небольшие отличия.'123'.isdecimal()
— проверяет, является ли строка только набором цифр (1-9). В то время как:·
'123⁴'.isdigit()
вернёт True, даже если в строке есть маленькие цифры (² или \u00B2). ·
'½'.isnumeric()
вернёт True, даже если это дробь (½ или \u00BD).#урок
📌 Атрибуты — штука странная
Они хранятся в переменной
Подобных подход занимает много ОЗУ, если у вас много маленьких объектов. В таком случае используют
В этой переменной хранится список атрибутов, которые будут у класса.
#урок
Они хранятся в переменной
__dict__
. Если вы добавите, обновите, удалите атрибут, изменится и эта переменная.Подобных подход занимает много ОЗУ, если у вас много маленьких объектов. В таком случае используют
__slots__
.В этой переменной хранится список атрибутов, которые будут у класса.
__dict__
пропадёт, а значит нельзя будет добавлять/удалять атрибуты.#урок
page2.png
218.1 KB
Шпаргалка по Python
Шпаргалка по основным понятиям языка: типам переменных (int, float, bool, str, None), структурам данных (list, tuple, set, dict), функциям и ООП.
Поможет новичкам лучше усвоить знания и быстрей изучить язык.
#урок
Шпаргалка по основным понятиям языка: типам переменных (int, float, bool, str, None), структурам данных (list, tuple, set, dict), функциям и ООП.
Поможет новичкам лучше усвоить знания и быстрей изучить язык.
#урок
📌 Куча if'ов в элегантный код
В Python 3.10 появился Pattern matching. По своей сути — синтаксический сахар. В результате это всё равно превратится в if'ы, но человеку будет легче читать код.
С помощью match/case мы можем определять поведение объект на основе данных. Это похоже на switch/case в си-подобных языках, только возможностей в разы больше.
📕 Документация
#урок
В Python 3.10 появился Pattern matching. По своей сути — синтаксический сахар. В результате это всё равно превратится в if'ы, но человеку будет легче читать код.
С помощью match/case мы можем определять поведение объект на основе данных. Это похоже на switch/case в си-подобных языках, только возможностей в разы больше.
📕 Документация
#урок
📌 Скажи мне свой знак зодиака
aztro — проект с гороскопами. У него есть свой API, доступ к которому можно получить с помощью PyAztro.
Установка:
📕 Документация
#урок
aztro — проект с гороскопами. У него есть свой API, доступ к которому можно получить с помощью PyAztro.
Установка:
pip install pyaztro
Вы передаёте свой знак зодиака и можете узнать счастливое число, время, совместимость с кем-то и получить краткое описание.📕 Документация
#урок
📌 Только ключевые и только позиционные аргументы
Позиционные аргументы — те, что передаются по позиции (доступно с Python 3.8). Ключевые — те, что передаются за счёт
Все аргументы до косой черты (/) считаются позиционными, то есть передать в них данные можно только в определённом порядке.
Все аргументы после звёздочки (*) считаются ключевыми, то есть передать данные можно только с помощью
📕 PEP 570 (позиционные) и PEP 3102 (ключевые)
#урок
Позиционные аргументы — те, что передаются по позиции (доступно с Python 3.8). Ключевые — те, что передаются за счёт
key=value
.Все аргументы до косой черты (/) считаются позиционными, то есть передать в них данные можно только в определённом порядке.
Все аргументы после звёздочки (*) считаются ключевыми, то есть передать данные можно только с помощью
key=value
.📕 PEP 570 (позиционные) и PEP 3102 (ключевые)
#урок
Самое время побыть Open Source разработчиком
Если вы уверены, что готовы к серьёзным проектам, то можете попробовать себя в Open Source разработке на Github.
К тому же, такое занятие сильно прокачает ваши навыки и сделает более привлекательным в глазах работодателя.
И это совсем не сложно. Есть простые issue, до которых просто не доходят руки у разработчиков. Их список вы можете найти тут.
#урок
Если вы уверены, что готовы к серьёзным проектам, то можете попробовать себя в Open Source разработке на Github.
К тому же, такое занятие сильно прокачает ваши навыки и сделает более привлекательным в глазах работодателя.
И это совсем не сложно. Есть простые issue, до которых просто не доходят руки у разработчиков. Их список вы можете найти тут.
#урок
🎙 Собеседование Python. Разработчик самоучка.
Собеседование — одна из наиболее стрессовых тем для разработчиков, но только первые двадцать раз ))
Делимся ссылкой на интересное собеседование на должность Python-разработчика. Можно подчеркнуть для себя множество полной информации и нюансов: https://youtu.be/maopv6Sm550
#Собеседование
Собеседование — одна из наиболее стрессовых тем для разработчиков, но только первые двадцать раз ))
Делимся ссылкой на интересное собеседование на должность Python-разработчика. Можно подчеркнуть для себя множество полной информации и нюансов: https://youtu.be/maopv6Sm550
#Собеседование