📜 Как вывести список методов и атрибутов объекта x?
Anonymous Quiz
23%
help(x)
28%
info(x)
5%
?x
44%
dir(x)
Как можно более кратко представить запись с картинки сверху?
Anonymous Quiz
8%
A = Y if Z else Y
75%
A = Y if X else Z
5%
A = X if Z else Y
12%
A = X if Y else Z
Получаем информацию по IP
C помощью
Атрибуты
Установка возможна через пакетный менеджер
C помощью
ip2geotools можно получить геолокацию по IP из нескольких баз данных. Метод get из класса DbIpCity позволяет получить информацию по желаемому IP бесплатно. Атрибуты
city, region, country хранят информацию соответственно о городе, регионе и стране. Обратившись к атрибутам latitude и longitude, можно получить широту и долготу. Установка возможна через пакетный менеджер
pip. Документация доступна по ссылке.Метод
У словарей есть метод
Если такого ключа в словаре нет, исключение не выбрасывается, а возвращается значение по умолчанию, которое передаётся вторым аргументом, или же
В примере мы не передаём второй аргумент, и в переменную name попадает
get у словарейУ словарей есть метод
get, который возвращает значение по переданному ключу. Если такого ключа в словаре нет, исключение не выбрасывается, а возвращается значение по умолчанию, которое передаётся вторым аргументом, или же
None, если второй аргумент не передан.В примере мы не передаём второй аргумент, и в переменную name попадает
None. Полезнее было бы передать ещё какую-нибудь строку в метод get, и она бы подставилась в name.Валидаторы данных
Не стоит писать собственные регулярные выражения для валидации почты и URL.
Модуль
Не стоит писать собственные регулярные выражения для валидации почты и URL.
Модуль
validators даёт возможность использовать уже готовые валидаторы для самых распространенных задач. Документация доступна здесь.Template из string
Класс Template — это такой легаси-способ форматировать строки. Полезно знать, как он работает, чтобы не растеряться при встрече со старым кодом.
Данный способ поддерживает передачу переменных по имени и использует $-синтаксис. В актуальных проектах, конечно, использовать его не стоит, f-строки гораздо проще.
Класс Template — это такой легаси-способ форматировать строки. Полезно знать, как он работает, чтобы не растеряться при встрече со старым кодом.
Данный способ поддерживает передачу переменных по имени и использует $-синтаксис. В актуальных проектах, конечно, использовать его не стоит, f-строки гораздо проще.
Method Resolution Order
В Python существует так называемый порядок разрешения методов в классе. Это порядок, где Python ищет нужный атрибут или метод.
Его можно получить при помощи атрибута
Атрибут быстрее всех будет найден именно в классе
В Python существует так называемый порядок разрешения методов в классе. Это порядок, где Python ищет нужный атрибут или метод.
Его можно получить при помощи атрибута
__mro__. Если мы в примере обратимся к val, Python будет искать сначала в классе A, далее в B, затем в C и потом в object. Атрибут быстрее всех будет найден именно в классе
B и будет равен значению 1.Логирование с loguru
Библиотека loguru позволяет упростить логирование в разы, а также настраивается под любой проект. Установка командой
Библиотека loguru позволяет упростить логирование в разы, а также настраивается под любой проект. Установка командой
pip install loguru, импорт объекта logger — и вы можете быстро и безопасно печатать в консоль все необходимые данные. Углубиться в функционал библиотеки можно по ссылке.Что будет выведено на экран?
Anonymous Quiz
19%
[1] [] [2]
33%
Исключение
10%
1 0 2
23%
1 [] 2
15%
Другое
Календарь в Python
Существует замечательный встроенный модуль
Существует замечательный встроенный модуль
calendar, позволяющий работать с датами. Некоторые возможности, такие как проверка, високосный ли год, показаны на картинке. Для углубления в работу с модулем можно ознакомиться с документацией.Какая из перечисленных инструкций выполнится быстрее всего при n = 10 ** 6?
Anonymous Quiz
16%
arr = list(i for i in range(n))
29%
arr = [i for i in range(n)]
41%
arr = (i for i in range(n))
14%
arr = {i for i in range(n)}
Быстрый deque
Для
deque предпочтительнее, чем обычный список, когда нужны более быстрые операции добавления и вытаскивания элементов с начала и конца контейнера.deque обеспечивает линейную сложность O(1) для операций добавления и выталкивания, у стандартного списка сложность по этим операциям O(n).Для
deque есть возможность использовать стандартные функции — sum, min, max и другие.