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

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

Преобрести рекламное размещение: https://telega.in/c/Python_libr
加入频道
📌 Аннотация типов. Часть 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.

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

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

Благодаря книге вы:" Исследуете основные встроенные типы объектов Python, такие как числа, списки и словари" Научитесь создавать и обрабатывать объекты с помощью операторов Python и освоите общую синтаксическую модель Python" Сможете применять функции для устранения избыточности кода и упаковки кода с целью многократного использования" Узнаете, как организовывать операторы, функции и прочие инструменты в более крупные компоненты посредством модулей" Погрузитесь глубже в классы - инструмент объектно-ориентированного программирования Python для структурирования кода".

Научитесь писать крупные программы с применением модели обработки исключений и инструментов разработки Python" Освоите более сложные инструменты Python, включая декораторы, дескрипторы, метаклассы и обработку Unicode"Книга Learning Python находится в начале моего списка рекомендованной литературы для любого, кто желает научиться программировать на Python."

#RU
📌 Что такое декоратор?

Это вызываем объект (например, функция или класс с методом __call__), которая меняет поведение другой функции.

Создаются они просто. Вы создаёте вызываем объект, который принимает функцию (пусть её имя будет speedtest) и возвращает функцию-обёртку.

Когда вы вызываете speedtest(), на самом деле отрабатывает обёртка, которая потом сама использует полученную функцию.

#урок
📓 Изучение сложных систем с помощью Python | Дауни Аллен Б.

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

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

#RU
📌 Создаём свой дата сервер

Для этого нам нужен действительно хороший модуль, которым сможет поддерживать несколько сотен соединений-долгожителей. И такой существует — Tornado.

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

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

Но у проекта есть небольшие недостатки: он работает только в одном потоке. Также он не пользуется принципами WSGI, что может сбить множество с толку.

#урок
📓 Разработка кроссплатформенных мобильных и настольных приложений на Python. Практическое пособие.

Книга посвящена вопросам использования интерпретатора Python, фрейморка Kivy и библиотеки KivyMD для создания приложений, которые способны работать на любом устройстве (настольный компьютер, планшет, смартфон, мини-компьютер) и в любой операционной системе (Windows, Linux, MacOS, Android, iOS). Эти приложения адаптированы к работе на устройствах с сенсорным экраном, кроме того, они позволяют и обычный монитор настольного компьютера или ноутбука превратить в сенсорный экран.

#RU
📌 Оформляем текст

Для этого нам нужен textwrap. В модуле довольно много функций, но вот эти основные:

wrap(text, width=70, ...) — Оборачивает текст так, чтобы длина каждой строки не превышала width.

fill(то же, что и wrap) — сокращение для "n".join(wrap(text, ...)).

indent(text, prefix) — Добавляет prefix к каждой новой строке.

shorten(text, width, ..., placeholder=' [...]') — Ограничивает текст до width и добавляет в конце placeholder.

#урок