Python Academy
47.1K subscribers
1.25K photos
4 videos
421 links
Python Academy — один канал вместо тысячи учебников

Чат канала: @python_academy_chat

Сотрудничество: @zubar89

Канал включён в перечень РКН: https://rkn.link/TVu
Download Telegram
Библиотека для генерации рандомных данных

Mimesis — это модуль, предназначенный для генерации случайных данных. Это особенно полезно при тестировании алгоритмов, когда требуется большой объем данных. Использование Mimesis избавляет от необходимости создавать эти данные вручную, существенно экономя время.

Этот код сгенерирует случайные адресные данные, такие как название города, улицы, номер дома и координаты.

#python #mimesis
Используйте dict.get() вместо dict[]

Есть несколько способов получения значений из словарей, и даже по такой теме разработчики часто спорят.

Многие получают значения по ключам через квадратные скобки, но если такого ключа нет, то будет вызвано исключение.

Поэтому мы считаем, что лучше использовать метод get у словарей. Его основной плюс заключается в том, что он принимает опциональный аргумент, отвечающий за значение по умолчанию.

Таким образом, если значение по ключу не найдено, то вернется дефолтное значение.

В итоге, мы убираем возможные ошибки в случае, если нужных ключей в словаре нет.

#python #dict
1
Получение геолокации по IP с использованием ip2geotools

Недавно я обнаружил увлекательный пакет ip2geotools, который обеспечивает возможность получения геолокации по IP из различных баз данных.
Пример кода для получения информации по IP с использованием класса DbIpCity, представляющего некоммерческую базу данных, выглядит следующим образом:

from ip2geotools.databases.noncommercial import DbIpCity

def get_ip_geolocation(ip_address):
try:
response = DbIpCity.get(ip_address, api_key='free')
city = response.city
region = response.region
country = response.country
latitude = response.latitude
longitude = response.longitude

print(f"Информация о местоположении для IP {ip_address}:")
print(f"Город: {city}")
print(f"Регион: {region}")
print(f"Страна: {country}")
print(f"Широта: {latitude}")
print(f"Долгота: {longitude}")

except Exception as e:
print(f"Ошибка при получении информации по IP {ip_address}: {e}")

ip_address_to_check = '8.8.8.8'
get_ip_geolocation(ip_address_to_check)


Этот код использует метод get из класса DbIpCity для получения информации о местоположении по заданному IP-адресу. Помните о том, что для использования некоторых баз данных может потребоваться API-ключ.

#python #ip2geotools
👍4
PyQtGraph

PyQtGraph — это библиотека Python для создания интерактивных 2D и 3D графиков, а также элементов графического интерфейса (GUI). Она основана на PyQt (или PySide) и NumPy, что делает ее мощным и универсальным инструментом для научных, инженерных и исследовательских задач.

#python
6
TurboGears

TurboGears — это фреймворк для создания веб-приложений на Python. Он состоит из набора взаимозаменяемых компонентов, упрощающих и ускоряющих разработку.

Вот некоторые ключевые особенности TurboGears:


— TurboGears использует архитектурный шаблон Model-View-Controller (MVC), разделяя ваше приложение на логические блоки: модель, представление и контроллер. Это способствует более организованной и поддерживаемой разработке.
— TurboGears позволяет вам выбирать нужные библиотеки и инструменты. По умолчанию он использует Pylons, SQLAlchemy, Genshi и Repoze, но вы можете заменить их на другие.

#python
1
NetworkX

NetworkX — это библиотека Python для анализа сложных сетей. Она предоставляет структуры данных для работы с графами (сетями) и реализует множество алгоритмов для анализа и визуализации сетевых данных.

Она может использоваться в различных областях, таких как социальные, биологические, транспортные, компьютерные сети и многих других.

#python
👍21
Отладка утечек памяти в Python приложении

Для отладки утечек памяти в Python можно использовать инструменты, такие как Memory Profiler и objgraph. Эти инструменты помогут вам выявить, какие объекты удерживают ссылки и могут вызывать утечки памяти.

Memory Profiler позволяет получить детальный отчет о потреблении памяти в каждой строке кода вашего скрипта. Чтобы воспользоваться этим инструментом, запустите вашу программу с помощью следующей команды:

python -m memory_profiler my_script.py


objgraph помогает визуализировать ссылки между объектами, что позволяет легко понять, какие объекты удерживают ссылки на другие объекты. Например, следующий код создаст изображение my_list.png, на котором будут показаны все объекты, на которые ссылается my_list, и все объекты, которые ссылаются на них.

Оба инструмента просты в использовании и предоставляют мощные средства для выявления и устранения утечек памяти в вашем приложении.

#python #memoryprofiler #objgraph
🔥3
Распознаем речь используя SpeechRecognition

SpeechRecognition — это библиотека на Python, которая предоставляет возможность использовать API для распознавания речи от различных компаний, таких как Google, Microsoft, IBM и другие. Кроме того, она поддерживает работу в офлайн-режиме.

Эта библиотека упрощает процесс интеграции голосовых команд и обработки аудиоданных в ваших проектах. Благодаря широкому спектру возможностей, SpeechRecognition подходит для создания приложений с голосовым управлением, интеллектуальных ассистентов и многого другого.

#python #speechrecognition
🔥1