Python | Программирование
9.87K subscribers
1.82K photos
2 videos
139 files
1.53K links
Python без границ для всех

Владелец, реклама @Ak_Mihail

Преобрести рекламное размещение: https://telega.in/c/Python_libr
加入频道
📌 Работаем с изображениями

Решением такой задачи занимается pillow — мощный инструмент для редактирования фото на Python.

Установка: pip install Pillow

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

Подробнее

#урок
📓 Глубокое обучение: легкая разработка проектов на Python.

Эта практическая книга представляет собой вводный курс для всех, кто занимается обработкой данных и для разработчиков ПО. Вы начнете с основ глубокого обучения и быстро перейдете к более сложным архитектурам, создавая проекты с нуля. Вы научитесь использовать многослойные, сверточные и рекуррентные нейронные сети. Только понимая принцип их работы (от «математики» до концепций), вы сделаете свои проекты успешными.

В этой книге:
- Четкие схемы, помогающие разобраться в нейросетях, и примеры рабочего кода.
- Методы реализации многослойных сетей с нуля на базе объектно-ориентированной структуры.
- Примеры и доступные объяснения сверточных и рекуррентных нейронных сетей.
- Реализация концепций нейросетей с помощью популярного фреймворка PyTorch.

#RU
📌 Методы строк, о которых надо знать

• ljust
, rjust, center — используются для позиционирования строки. Заполняет её пробелами, слева/справа/сдвухсторон пока её длинна не станет width.

strip — удаляет лишние символы (r, t, n, пробел) с краёв строки. rstrip и lstrip делают тоже самое, только в конце и начале строки.

• splitlines — разделяет текст на строки. Намного лучше, чем split('n'), поскольку проводит некоторые проверки.

Документация

#урок
📓 Путь Python. Черный пояс по разработке, масштабированию, тестированию и развертыванию.

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

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

#RU
📌 Абстрактные классы

Python, несмотря на динамическую типизацию, не лишена абстрактных классов. Это объекты, которые можно только унаследовать и реализовать какие-то функции.

Создаются они с помощью предустановленного модуля abc. Абстрактные классы наследуются от ABC. А абстрактные методы помечаются @abstractmethod.

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

📕 Документация

#урок
📌 Дзен Python

У Python есть свод правил, которые должен придерживаться каждый разработчик, чтобы его код был стабильным, гибким и читаемым. Прочитать его можно, выполнив import this.

Тим Петерс решил составить свод из 20 правил, но их всего лишь 19. Почему? 20-е правило должен был написать Гвидо Ван Россум — разработчик Python, но это место до сих пор пустует.

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

P.S. Если вы с помощью inspect посмотрите код, то увидите явное нарушение этих правил :)

#урок
📌 Аннотация типов. Часть 1

Все мы знаем, что Python — язык с динамической типизацией, то есть язык всю работу касаемо типов объект берёт на себя.

Но у такого подхода есть проблема — редактор кода не знает, что может быть на месте какой-то переменной, из-за чего хуже работает автодополнение.

Также можно передать неправильный тип функции. Ей нужен список, а вы передали множество. Функция отработает и ни Python, ни IDE вам ничего не скажут.

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

#урок
📓 Программирование на Python. Первые шаги.

В книге описаны базовые конструкции программирования на языке Python: от именования переменных до многострочных программ с несколькими вложенными циклами и условными конструкциями. Материал содержит подробные пошаговые инструкции, множество примеров. В помощь читателю приведены иллюстрации и примеры интерактивных оболочек программных кодов, а также ссылки на источники и интернет-ресурсы. В каждой главе разбор возможных ошибок и задания с ответами в конце книги. Книга подойдет для дополнительного образования в школе и дома. Будет полезна учащимся средней и старшей школы, учителям, руководителям кружков и всем, кто интересуется программированием.

#RU
📌 Генераторные списки

Это выражения, которые позволяют нам быстро фильтровать или менять списки. Оно напоминает работу map и filter, только читается чуть проще.

Выглядит оно примерно так: {expression} for i in {iterale} if {expression2}. if используется для фильтрации и его добавление не обязательно.

Записываются эти выражения внутри квадратных скобок ([]), таким образом создаётся список. Если нам нужно множество, записываем в {}, если генератор, в ().

#урок
📓 Байесовский анализ на Python.

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

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

Издание будет полезно всем специалистам по анализу данных, решающим нетривиальные задачи, связанные с вероятностными распределениями.

#RU
📌 Особые методы класса

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

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

__str__, __repr__ — методы для перевода класса в строку. Один вызывается с помощью str() и предназначен для пользователей, второй вызывается с помощью repr() и предназначен для программистов.

__eq__ — метод, который вызывается при проверки классов на равенство, то есть при использовании оператора ==.

#урок
📓 Изучаем Python. Том 1.

С помощью этой практической книги вы получите всестороннее и глубокое введение в основы языка Python. Будучи основанным на популярном учебном курсе Марка Лутца, обновленное 5-е издание книги поможет вам быстро научиться писать эффективный высококачественный код на Python. Она является идеальным способом начать изучение Python, будь вы новичок в программировании или профессиональный разработчик программного обеспечения на других языках.

Это простое и понятное учебное пособие, укомплектованное контрольными вопросами, упражнениями и полезными иллюстрациями, позволит вам освоить основы линеек Python 3.X и 2.X. Вы также ознакомитесь с расширенными возможностями языка, получившими широкое распространение в коде Python.

#RU
📌 Красивый вывод

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

Поэтому мы можем красиво оформить их вывод с помощью pprint. Модуль добавляет отступы, переносит значения на новую строку, если они не умещаются в одну.

Также библиотека показывает, где может быть рекурсия и скрывает вложенные элементы, в зависимости от параметра depth.

📕 Документация

#урок