Получаем исходный код объекта
Встроенный модуль
Сегодня поговорим только про
В аргументы достаточно передать необходимый объект. Но важно отметить, что встроенные функции не получится проинспектировать.
Встроенный модуль
inspect
помогает разработчикам исследовать уже написанные программы.Сегодня поговорим только про
getsource()
, который возвращает весь исходный код функции, класса или модуля в виде строки.В аргументы достаточно передать необходимый объект. Но важно отметить, что встроенные функции не получится проинспектировать.
Форматирование чисел в f-строках
Начиная с версии Python 3.6, стали доступны f-строки. Это удобный способ форматирования текста. Но не все знают, что он умеет вставлять float числа с настраиваемым количеством знаков после запятой.
Начиная с версии Python 3.6, стали доступны f-строки. Это удобный способ форматирования текста. Но не все знают, что он умеет вставлять float числа с настраиваемым количеством знаков после запятой.
Генерация капчи
Для этого нам создания капчи нам понадобится модуль
Создаем объект изображения
Для этого нам создания капчи нам понадобится модуль
captcha
и Pillow
, который используется для создание изображений в captcha
.Создаем объект изображения
ImageCaptcha
, на который будет нанесен текст. После чего вызываем метод write
с заданным текстом и придуманным названием файла.Получение курса валют
Один из вариантов получения валют - импользование библиотеки
Один из вариантов получения валют - импользование библиотеки
forex-python.
Установите ее командой pip install forex-python.
Данный модуль - это бесплатный API для текущих и исторических обменных курсов, публикуемых Европейским центральным банком. Курсы обновляются ежедневно в 15:00 по европейскому времени.Итерация в обратную сторону
Когда нам нужно проитерироваться по послудовательности в обратном порядке, то функция
Когда нам нужно проитерироваться по послудовательности в обратном порядке, то функция
reversed
поможет это сделатьОпределяем расстояние между двумя точками на Земле
Для работы с координатами воспользуемся библиотекой
Для работы с координатами воспользуемся библиотекой
geopy
, которую установим с помощью команды pip install geopy
. В функцию geodesic
передадим два кортежа с координатами нужных нам городов.Сортировка пузырьком
Сортировка пузырьком - это метод сортировки массивов и списков путем последовательного сравнения и обмена соседних элементов, если предшествующий оказывается больше последующего.
В процессе выполнения данного алгоритма элементы с большими значениями оказываются в конце списка, а элементы с меньшими значениями постепенно перемещаются по направлению к началу списка. Образно говоря, тяжелые элементы падают на дно, а легкие медленно всплывают подобно пузырькам воздуха.
Сортировка пузырьком - это метод сортировки массивов и списков путем последовательного сравнения и обмена соседних элементов, если предшествующий оказывается больше последующего.
В процессе выполнения данного алгоритма элементы с большими значениями оказываются в конце списка, а элементы с меньшими значениями постепенно перемещаются по направлению к началу списка. Образно говоря, тяжелые элементы падают на дно, а легкие медленно всплывают подобно пузырькам воздуха.
Switch-конструкции
Некоторые языки программирования спользуют
Однако существует одно хитрое решение – использовать словарь, где значениями будут функции.
В данном примере мы используем
Некоторые языки программирования спользуют
switch
конструкции, которых нет в python.Однако существует одно хитрое решение – использовать словарь, где значениями будут функции.
В данном примере мы используем
lambda-функции
для упрощения кода, но вместо них можете подставить любые другие.Получаем срез из бесконечного генератора
Допустим, мы хотим получить какой-то конечный список элементов из бесконечного генератора.
Для начала создадим сам генератор, который позволяет (за неимением другого слова) "генерировать" числа из последовательности Фибоначчи.
Чтобы получить желаемый срез, импортируем модуль
Допустим, мы хотим получить какой-то конечный список элементов из бесконечного генератора.
Для начала создадим сам генератор, который позволяет (за неимением другого слова) "генерировать" числа из последовательности Фибоначчи.
Чтобы получить желаемый срез, импортируем модуль
itertools
, в котором уже есть удобная функция islice
, позволяющая осуществить срез генератора fib
.Назначение функций по условию
Наверняка большинство из вас знакомы с тернарным оператором, позволяющим записать простое условное выражение с
Интерпретатор выполняет выражение
Но оказывается, тернарный оператор можно использовать не только для переменных, но и для функций.
Наверняка большинство из вас знакомы с тернарным оператором, позволяющим записать простое условное выражение с
if
:A = Y if X else Z
Интерпретатор выполняет выражение
Y
, если объект X
– True
, и Z
, если X
– False
.Но оказывается, тернарный оператор можно использовать не только для переменных, но и для функций.
Ускоряем код с помощью векторизации
Одним из приемов для ускорения работы циклов является векторизация вычислений, т. е. использование функций, которые поддерживают операции над векторами.
Лучший способ ускорить любой цикл – это отказаться от него. В примере выше для работы с функцией
По сути,
Не забудьте установить библиотеку командой
Одним из приемов для ускорения работы циклов является векторизация вычислений, т. е. использование функций, которые поддерживают операции над векторами.
Лучший способ ускорить любой цикл – это отказаться от него. В примере выше для работы с функцией
my_func
мы могли бы вызвать ее в цикле для каждого элемента списка, но гораздо проще использовать vectorize
.По сути,
vectorize
преобразует функцию таким образом, что она начинает принимать весь вектор целиком, а не отдельный его элемент. Надо помнить, что такой подход не всегда приводит к значительному ускорению.Не забудьте установить библиотеку командой
pip install numpy
Прочитать произвольную строку из файла
Создадим файл
Нам может помочь функция
Создадим файл
text.txt
и выведем из нее нужную нам строку.Нам может помочь функция
getline
из модуля linecache
. В чем главное отличие этой функции от обычного метода чтения из файла? Функция getline
кеширует все строчки файла в списке, так что следующие вызовы get_answer
отработают моментально.Узнать день недели 100 лет назад
Есть в питоне модуль
Но есть в нём и полезные функции. Например, узнать день недели для любой даты в прошлом или будущем.
Есть в питоне модуль
calendar
. На деле он занимается форматированием календарей в HTML
(именно то, что требуется в стандартной библиотеке любого языка).Но есть в нём и полезные функции. Например, узнать день недели для любой даты в прошлом или будущем.
Слабые ссылки
Слабые ссылки позволяют получать доступ к объекту, как и обычные, но они не учитываются в механизме подсчета ссылок. Другими словами, слабые ссылки не могут поддерживать объект живым, если на него не осталось больше сильных ссылок.
Согласно документации, слабые ссылки нужны для организации кэшей и хэш-таблиц из «тяжелых» объектов, когда не требуется поддерживать объект живым только силами этого самого кэша; чтобы в долгоживущей программе не кончалась память из-за хранения в кэшах большого количества уже не нужных объектов.
Встроенный модуль
Слабые ссылки позволяют получать доступ к объекту, как и обычные, но они не учитываются в механизме подсчета ссылок. Другими словами, слабые ссылки не могут поддерживать объект живым, если на него не осталось больше сильных ссылок.
Согласно документации, слабые ссылки нужны для организации кэшей и хэш-таблиц из «тяжелых» объектов, когда не требуется поддерживать объект живым только силами этого самого кэша; чтобы в долгоживущей программе не кончалась память из-за хранения в кэшах большого количества уже не нужных объектов.
Встроенный модуль
weakref
отвечает за функциональность слабых ссылок.Работа с датами
Модуль
Выше приведен пример парсинга даты из логов.
Модуль
python-dateutil
предоставляет мощное расширение для стандартного datetime
. Устанавливается он следующим образом:pip3 install python-dateutil
Выше приведен пример парсинга даты из логов.
Скорость соединения
Нужно проверить скорость интернета? Не проблема, так как в Питоне есть специальная библиотека
Установка библиотеки -
Нужно проверить скорость интернета? Не проблема, так как в Питоне есть специальная библиотека
Pyspeedtest
, которая позволяет быстро выполнить полную проверку скорости вашего интернета.Установка библиотеки -
pip install pyspeedtest
Сокращение ссылок
Создать сокращенную ссылку можно при помощи использования библиотеки
Установка библиотеки -
Создать сокращенную ссылку можно при помощи использования библиотеки
PyShorteners
. Вам нужно установить библиотеку в проект, выполнить её подключение, а также создать объект на её основе.Установка библиотеки -
pip install pyshorteners
Котировки акций на python
Библиотека
Перед началом работы установите модуль командой
Компания Apple имеет тикер "AAPL", который мы передадим в функцию
Библиотека
yfinance
поможет получить нам необходимые значения.Перед началом работы установите модуль командой
pip install yfinance.
Компания Apple имеет тикер "AAPL", который мы передадим в функцию
Ticker()
и получим цену за акцию из поля ['regularMarketPrice']
Создание списка из нужного количества заданных элементов
Counter
— это подкласс словаря dict
. Сама коллекция нужна для хранения элементов в виде словарных ключей, а их счетчики хранятся в виде значений словаря. elements
— возвращает итератор по элементам, каждый из которых повторяется столько раз, сколько его количество.