Библиотека Python разработчика | Книги по питону
19.2K subscribers
1.06K photos
391 videos
82 files
1K links
Полезные материалы для питониста по Фреймворкам Django, Flask, FastAPI, Pyramid, Tornado и др.

По всем вопросам @evgenycarter

РКН clck.ru/3Ko7Hq
Download Telegram
Генерация шумов Перлина

Шум перлина — это математический алгоритм по генерированию процедурной текстуры (градиентного шума) псевдо-случайным методом.

Для нас он может пригодится в разных ситуациях: от симуляции временных рядов разных показателей до генерации процедурного мира как в Minecraft.

Для Python уже существует библиотека-реализация этого алгоритма, называется она perlin-noise.

pip install perlin-noise

Сначала мы создаем обьект генератора шумов, и задаем ему количество октав и seed для встроенного рандомизатора:
noise = PerlinNoise(octaves=10, seed=1)

Обьявляем размер желаемой 2d матрицы:
xpix, ypix = 100, 100

И используя списочное включение, генерируем 2d матрицу, где интенсивность значения от координат задает наш обьект генератора noise:
pic = [[noise([i/xpix, j/ypix]) for j in range(xpix)] for i in range(ypix)]
👍5🔥1
7 фишек Python максимально улучшающие твой код

Хочешь писать более лаконичный и читаемый код а также умещать как можно больше смысла в одно выражение? Считаешь, что лучше один раз прочитать об уловках Python, чем провести остаток своих дней за чтением ненужной документации?
Подробнее
👍9
Топ 5 асинхронных веб-фреймворков на Python

Асинхронность уже не является просто модным словечком в сообществе Python. После выпуска библиотеки asyncio в версии 3.5, разработчики Python признали влияние Node.js в сфере веб-разработки и ввели в язык два новых ключевых слова – async и await. Это был крайне важный момент, потому что разработчики максимально осторожно относятся к расширению основного синтаксиса, если только нет острой необходимости, что только указывает на то, насколько принципиально необходимыми считались асинхронные возможности.

Подробнее
👍4🔥1
Станьте веб-разработчиком на Python в онлайн-школе программирования Хекслет!

👉🏻За 10 месяцев вы освоите Python, HTML и CSS, фреймворк Django. Прокачаетесь в алгоритмах, архитектуре, познакомитесь с базой данных SQL и сопутствующими инструментами: командной строкой, Poetry, Git.

👉🏻Напишите 4 рабочих проекта на GitHub и получите возможность пройти собеседования и стажировки в авторитетных компаниях.

Заходите и пробуйте наш формат! Первые курсы профессии доступны бесплатно после регистрации.
👍3
Шаблоны Django: реализация настраиваемых тегов и фильтров

https://realpython.com/django-template-custom-tags-filters/
👍1
Конструктор класса

У классов практически во всех языках есть конструкторы — это такие специальные методы, которые вызываются автоматически и инициализируют экземпляр класса.

В Python конструкторы в классах имеют название __init__(), и их почти всегда переопределяют. Делается это для того, чтобы назначить свойства объекту и выполнить предварительные действия.
👎8👍4
Мега подборка каналов для программистов 🎯

https://t.me/progjob Вакансии для программистов

Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (Админский юмор, фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/linux_sup Новости и информация из мира Linux
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/dev_ops_info Devops

Программирование, фронтенд, Биг дата, мобильная р-ка, книги 📌
https://t.me/game_devv GameDev: разработка игр
https://t.me/Angular_Vuejs Angular Vue js React
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/Frontend_now Все для фронтендеров
https://t.me/react_prog Все что связано с reactjs
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/developer_mobila Мобильная разработка
https://t.me/Welcome_Python Добро пожаловать в мир Python
https://t.me/BookPython Библиотека Python разработчика
https://t.me/programmist_of Книги по программированию
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_sup Программирование на Java
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/imobile_dev Все по мобильной разработке: iOS, Android
https://t.me/database_group Все про базы данных
https://t.me/cloud_comp Облачные сервисы, вычисления и безопасность
https://t.me/bigdata_world Data Science, Big Data, Machine Learning

IT новости 📌
https://t.me/htech_news Новости HighTech
https://t.me/all_itnews IT новости на английском
https://t.me/gmorning_news Последнии новости из мира науки
https://t.me/youtips_tricks Технологические советы и хитрости

Шутки программистов 📌
https://t.me/dev_jokes Daily Dev Jokes
https://t.me/itumor ITumor | программисты шутят

SMM, Seo, Wordpress 📌
https://t.me/allsocial_news SMM / Советы, Новости, Лайфхаки
https://t.me/seo_go Новости по SEO продвижению сайтов
https://t.me/news_wordpress Канал о самой популярной CMS

Защита, взлом, безопасность 📌
https://t.me/crypto_security_lab Материалы по информационной безопасности
https://t.me/thehaking Канал о кибербезопасности
https://t.me/Hackme_news Новости из мира хакинга

Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
https://t.me/goodw_design Статьи по Веб дизайну

Должен знать 📌
https://t.me/UchuEnglish Английский с нуля
https://t.me/Pomatematike Канал по математике

Арбитраж трафика 📌
https://t.me/partnerochkin CPA и арбитраж трафика

Крипта 📌
https://t.me/crypto_moneygo Канал о крипте, новости, инсайды
https://t.me/bitkoinoff Нгвости криптовалют

VR, робототехника 📌
https://t.me/AR_VR_vision Компьютерное зрение, виртуальная реальность
https://t.me/robotics_scince Канал о Робототехнике и автоматизации


https://t.me/network_arch Network architecture and Administration
https://t.me/easy_program Программирование для новичков
https://t.me/testin_new Тестирование
https://t.me/IoTprog Интернет вещей
https://t.me/generalprog General programming
https://t.me/Hware_news Цифровые тенденции
👍7
Forwarded from Python академия
3 трюка с itertools

Сегодня мы рассмотрим несколько функций из довольно полезного модуля, позволяющих эффективно работать с итерируемыми объектами. Начнём с очень простой функции – chain. Она позволяет "склеивать" несколько итерируемых элементов в один.

Далее, accumulate. Эта функция немного похожа на reduce, но вместо того, чтобы давать одно окончательное значение, она последовательно применяет функцию, заданную вторым аргументом (в данном случае min), к каждому последующему элементу по порядку: min(11), min(11, 3), min(11, 3, 9) и так далее.

А для того, чтобы создавать комбинации из элементов выбранного итерируемого объекта, вам понадобится функция combinations. Вторым аргументом можно задать длину этой самой комбинации. Подписывайтесь на канал 👉@pythonofff
👍2
Пишем игру Сапер на Python

Сегодня мы напишем одну из самых распространенных игр - сапер. Для графического интерфейса будем использовать библиотеку tkinter.

Подробнее
👍9🔥3
Forwarded from Python академия
Упаковка параметров с помощью urlencode

Новая неделя – новые знания. В это утро понедельника я подготовил для вас крайне практичный пост.

Довольно часто приходится работать с разнообразными API и совершать get-запросы с передачей множества параметров. Чаще всего составление запроса в коде выглядит примерно так:

url = 'https://example.com?item={}&size={}&color={}&amount={}'.format('t-shirt', 'M', 'white', 5)

Смотрится не слишком презентабельно, однако есть слегка более длинный, но значительно улучающий читаемость кода вариант – функция urlencode из из модуля urllib.

Подписывайтесь на канал 👉@pythonofff
👍11👎1
В чем разница между списком и кортежем?
Мне задавали этот вопрос буквально на каждом собеседовании по Python/data science. Выучите ответ как свои пять пальцев:

1️⃣ Список можно изменить после создания.
2️⃣ Кортеж нельзя изменить после создания.
3️⃣ Список упорядочен. Он представляет собой упорядоченные последовательности объектов, как правило, одного и того же типа. Например, все имена пользователей упорядочены по дате создания: [«Seth», «Ema», «Eli»].
4️⃣ У кортежа есть структура. В каждом индексе могут сосуществовать различные типы данных. Например, такая запись базы данных в памяти: (2, «Ema», «2020–04–16») # id, name, created_at.
👎15👍9
10 неизвестных подводных камней безопасности для Python.

https://blog.sonarsource.com/10-unknown-security-pitfalls-for-python
👍3
Пишем логическую игру пятнашки на Python

Сегодня мы напишем на Python свою версию популярной логической игры - пятнашки. Цель игры заключается в том чтобы перемещая блоки в рамке упорядочить их по номерам.

Подробнее
👍4
Forwarded from Python академия
Официальное упорядочивание словарей

Кстати, Python 3.7 на официальном уровне зафиксировал соответствие порядка перебора элементов словарей порядку их добавления.

Но для некоторых это не такая уж и новость, так как и в Python 3.6 словари уже были упорядочены, что видно на примере выше.

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

Подписывайтесь на канал 👉@pythonofff
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
30 лучших Python-проектов на GitHub на начало 2022 года

Наверняка многим из вас любопытно было бы узнать, какие Python-проекты являются самыми популярными на начало 2022 года. GitHub, безусловно, лучшее место для получения этой статистики. Пусть здесь можно найти не все проекты, но ему нет достойной альтернативы.

Подробнее
👍6
Forwarded from Python академия
"Быстрый" контейнер deque

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

К тому же, контейнер deque обеспечивает линейную сложность O(1) для операций добавления и выталкивания по сравнению со стандартным списком, у которого сложность по времени для тех же операций составляет O(n).

Также для deque есть возможность использовать такие стандартные функции, как sum, min, max и другие.
👍5🔥1
Нейронный машинный перевод на языке Python с открытым исходным кодом. Предназначен для использования в качестве библиотеки Python или настольного приложения. Использует OpenNMT для перевода и PyQt для графического интерфейса.

https://github.com/argosopentech/argos-translate
👍5🔥3
Forwarded from Python академия
Дизассемблирование

Встроенный модуль dis позволяет декомпилировать написанную вами программу в байт-код Python.

На картинке показана работа этого модуля на примере функции, но такое можно повторить и с классами – в таком случае все его функции будут дизассемблированы.

Подписывайтесь на канал 👉@pythonofff
👍6