Python - Советы, библиотеки, гайды
19.6K subscribers
1.17K photos
25 videos
6 files
590 links
Всё для Python программиста :3
Готовый код, советы, лайфхаки, годные библиотеки, уроки и многое другое!

Автор - Абрахам (@priler)

РКН: https://kurl.ru/uXZzR
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Визуализация бесконечного цикла на Python :3
👍247😁56🔥16🤩4🤔3😱2
This media is not supported in your browser
VIEW IN TELEGRAM
Glitch-this - это крутая библиотека для создания изображений и гифок с эффектом глич (glitch).
У библиотеки целая куча настроек и возможностей.
+ Она работает быстро.

Ставится командой ⚙️ pip install glitch-this
Документация и примеры кода здесь.
👍314
This media is not supported in your browser
VIEW IN TELEGRAM
Silero-models - это очень крутая штука для STT/TTS (преобразование текста в голос и наоборот).
Работает в сотни раз лучше, чем тот же условный Pyttsx3.

Пример перевода текста в речь можете послушать в аттаче к посту.
Он был сгенерирован вот таким маленьким и простым кодом.

Помимо этого у Silero-Models есть много других интересных применений.
Обязательно чекайте документацию и примеры кода здесь.
👍54😁3🔥2
MarkupSafe - полезная библиотека для фильтрации инпута от пользователя, который впоследствии будет выводиться на сайте.
Либа экранирует спец. символы, защищая тем самым юзер инпут от XSS атак и т.д.

Особенно полезно в сочетании с Django.
И на вебсайтах в целом.

Ставится командой ⚙️ pip install MarkupSafe
Документация и примеры кода здесь.
👍23
Вот так ценятся питонисты в России 🌚
😢172👍14😁1411🤩4🤡1
Воспроизведи меня полностью.wav
1.2 MB
Ну вы поняли 🌚
👍162🤯19😱64🤔4🔥2😁2❤‍🔥1😢1🤩1
Хотели бы себе такой? 🤔
286👍44🤩41🔥9🤯6😢2❤‍🔥1😁1🤔1
А что вы думаете о PyScript? 🤔
👍155😁32🤯12🤔10😢5
Ачё в смысле 🤔
👍139😱44😁23😢13🤔10🤯9🎉2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
крутящийся пончик который написан на Python!

похожий пончик был на C, но теперь появился и на Python!
всего 114 строк и у тебя будет такой же :3

он сделан благодаря математическим вычислениям с помощью библиотеки math, а поле было создано с помощью библиотеки pygame.

код можно посмотреть здесь
👍69🤯18🔥12🎉1
Matplotlib — одна из основных библиотек для выстраивания графиков.

С помощью Matplotlib можно создавать любые визуализации, например: гистограммы, столбцовые диаграммы, точечные диаграммы и другое.

Так же данная библиотека облегчает использование меток, сеток, легенд и других объектов форматирования.

Matplotlib написан и поддерживался в основном Джоном Хантером и распространяется на условиях BSD-подобной лицензии. 

Maptlotlib это поистине функциональная библиотека, речь идёт обо всём, что можно нарисовать 🔥

Ставится командой pip install matplotlib
Документация и примеры кода здесь.
👍35🔥3😱31
This media is not supported in your browser
VIEW IN TELEGRAM
Pyxel — это игровой движок для Python в стиле ретро.

Благодаря своей простоте, вдохновленной старыми игровыми консолями - вы можете легко создавать игры в стиле пиксель-арт.

Данный модуль так же поддерживает джойстик, поэтому вам даже не нужна клавиатура и мышь 🤯

В модуле есть редактор изображений и музыки, поэтому никуда отлучаться не нужно :3

Есть 2 версии Pyxel, одна автономная, а другая - нет, но сейчас мы говорим про модуль Python.

Ставится командой pip install -U pyxel
Документация и примеры кода здесь.
🤯33👍24🔥32
This media is not supported in your browser
VIEW IN TELEGRAM
Manim — это библиотека для того, чтобы создавать точные математические анимации!

Сложнейшие математические графики, симуляции и точные анимации — всё это есть в Manim!

Например, на гифке выше вы можете наблюдать за "гармоническим маятником" который создан при помощи Manim. Красиво, не правда ли?

Ставится командой pip install manim
Документация и примеры кода здесь
👍351🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Симуляция гравитации :3

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

Использованные модули: pygame, math и random. pygame для поля, math для математических вычислений а random для диопазона.

Есть 3 представленных формы для симуляции, а именно: line, square и circle. Думаю по желанию можно добавить ещё несколько форм :)

Всё выглядит безумно круто 🔥

Код вы можете найти здесь
🔥43👍7
Type hinting - это аннотация типов для простого чтения кода.

Сверху приведён пример type hinting'a, там мы присваиваем двум аргументам тип данных "int" через двоеточие, стрелка "->" указывает, что функция add() вернёт int.

Для чего нужен type hinting? С type hinting'ом намного легче понять код и делать рефакторинг в будущем.

Раньше, когда на Python писали в основном небольшие скрипты, это не было такой уж острой проблемой, потому что всю программу за разумный промежуток времени можно было охватить взглядом и понять. В последнее время язык стал значительно популярнее.

Нужно отметить, что type hinting — это именно возможность, а не обязанность. У программиста есть выбор — добавлять информацию о типах или нет.

Чтобы узнать больше — читайте документацию здесь.
👍321
Typing — это библиотека которая обеспечивает поддержку выполнения аннотации типов.

В предыдущем посте мы рассмотрели аннотацию типов, сейчас же мы рассмотрим вспомогательную библиотеку typing для работы с аннотацией типов.

Для чего вам нужна вспомогательная библиотека? Как минимум для того, что это сильно облегчает процесс написания аннотации типов.

На фотографии выше видно, как мы используем Union и с помощью него создаём тип интонации, где мы указываем список типов в квадратных скобках а затем используем эти 2 типа, а именно float и int.

Библиотека довольно большая, поэтому документация и примеры здесь.
👍261
🐍 Совет по Python №7.
Используйте понятные названия.

Уметь давать понятные названия — это один из самых важных навыков хорошего программиста.

Что такое понятные названия?
Это такие имена переменных, которые четко отражают их содержимое, то есть то - что они хранят.
То же самое относится и к файлам, функциям, классам и т.д.

Так же понятные названия не изменяют вывод, как многие могли подумать.
Это облегчает работу с кодом в будущем, и для довольно крупных проектов это очень важный момент!

Как видите, на скрине выше - в переменной "name" интуитивно понятно что там находится имя, но вот про переменную "a" ничего сказать не выйдет :(

Нужно отметить, что понятные названия — это именно возможность, а не обязанность.
У программиста есть выбор добавлять информацию в названиях или нет.
👍65😁5🤔1
geopy — это модуль для работы с геолокациями.

Данный модуль позволяет находить координаты городов, стран и достопримечательностей по всему миру!

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

На примере выше мы видим, как мы указываем имя своему приложению а затем ищем и выводим координаты Японии 🇯🇵

Geopy является клиентом для популярных сервисов геокодирования, поэтому и в своей работе использует сторонние геокодеры такие как: Google Geocoding API, OpenStreetMap и много других сервисов геокодирования.

Ставится командой pip install geopy
Документация и примеры кода здесь.
👍25🤔42