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

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

РКН: https://kurl.ru/uXZzR
Download Telegram
Воспроизведи меня полностью.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
Folium — библиотека для визуализации данных на карте!

В предыдущем посте мы рассмотрели модуль geopy который был создан для работы с геолокациями, оттуда мы взяли координаты Японии, поэтому сегодня будем использовать именно эти координаты.

Folium позволяет как и привязать данные к карте для визуализации фоновых картограмм, так и передавать векторные, растовые и HTML визуализации в качестве маркеров на карте.

На примере выше мы видим, как в переменную "m" передаём координаты Японии и зумим так, как нам надо.

Далее в переменную tooltip передаётся текст, который будет показываться при наводке, добавляем маркер на заданные координаты и сохраняем в файл "xo_py.html".

То что у нас вышло - тут :3

Библиотека имеет ряд встроенных наборов тайлов от OpenStreetMap, Mapbox и Stamen и поддерживает пользовательские наборы тайлов с ключами API Mapbox или Cloudmade. folium поддерживает наложения изображений, видео, GeoJSON и TopoJSON.

Ставится командой pip install folium
Документация и примеры кода здесь.
👍35🔥41🤯1
Этот парень был просто из тех, кто любил писать на питоне ... 🌚
👍136😁29🔥5🤔4
Генератор — это функция, которая возвращает объект итератора.

Она выглядит как обычная функция, за исключением того, что она содержит выражение yield для создания серии значений, которые можно использовать в цикле for … in или которые можно извлечь по одному с помощью функции next().

Сверху самый простой пример функции генератора.

Любая функция содержащая ключевое слово yield, является функцией генератора.

Генераторы это отличный способ улучшить производительность кода, и они очень просты в использовании!

Когда вызывается функция генератора, то она не возвращает единственное значение, как это делает оператор return. Вместо этого она возвращает объект генератора, который поддерживает протокол итератора.

Разница между yield и оператором return заключается в том, что при достижении выхода, состояние выполнения генератора приостанавливается и локальные переменные сохраняются. При следующем вызове метода генератора next() функция возобновит свое выполнение.

Подробнее о генераторах вы можете почитать здесь.
👍312
Googletrans — это бесплатная и неограниченная библиотека Python, в которой реализован API Google Translate.

Что умеет данная библиотека?
Данная библиотека умеет переводить текст со 106-ти языков 🤯 (включая русский, украинский и, конечно же, английский), обнаруживать языки, писать транскрипция и другие полезные функции.

Где это может пригодится?
Библиотека может пригодится в различных ботах, сайтах, приложениях и тому подобное.

В связке с библиотекой gTTS (библиотека для озвучивания текста от Google) может получиться полноценная программа для перевода текста 🔥

Ставится командой pip install googletrans
Документация и примеры кода здесь.
👍56🤩10🔥1