📌 Методы строк, о которых надо знать
• ljust, rjust, center — используются для позиционирования строки. Заполняет её пробелами, слева/справа/сдвухсторон пока её длинна не станет width.
• strip — удаляет лишние символы (r, t, n, пробел) с краёв строки. rstrip и lstrip делают тоже самое, только в конце и начале строки.
• splitlines — разделяет текст на строки. Намного лучше, чем split('n'), поскольку проводит некоторые проверки.
Документация
#урок
• ljust, rjust, center — используются для позиционирования строки. Заполняет её пробелами, слева/справа/сдвухсторон пока её длинна не станет width.
• strip — удаляет лишние символы (r, t, n, пробел) с краёв строки. rstrip и lstrip делают тоже самое, только в конце и начале строки.
• splitlines — разделяет текст на строки. Намного лучше, чем split('n'), поскольку проводит некоторые проверки.
Документация
#урок
❤5👍2
📌 Абстрактные классы
Python, несмотря на динамическую типизацию, не лишена абстрактных классов. Это объекты, которые можно только унаследовать и реализовать какие-то функции.
Создаются они с помощью предустановленного модуля abc. Абстрактные классы наследуются от ABC. А абстрактные методы помечаются
Зачем они нужны? Они позволяют решить проблемы с динамической типизацией и добавляют подсказки при написании кода. Также они часто используются с паттернами.
📕 Документация
#урок
Python, несмотря на динамическую типизацию, не лишена абстрактных классов. Это объекты, которые можно только унаследовать и реализовать какие-то функции.
Создаются они с помощью предустановленного модуля abc. Абстрактные классы наследуются от ABC. А абстрактные методы помечаются
@abstractmethod.Зачем они нужны? Они позволяют решить проблемы с динамической типизацией и добавляют подсказки при написании кода. Также они часто используются с паттернами.
📕 Документация
#урок
❤7🔥4
📌 Дзен Python
У Python есть свод правил, которые должен придерживаться каждый разработчик, чтобы его код был стабильным, гибким и читаемым. Прочитать его можно, выполнив
Тим Петерс решил составить свод из 20 правил, но их всего лишь 19. Почему? 20-е правило должен был написать Гвидо Ван Россум — разработчик Python, но это место до сих пор пустует.
Автор языка хотел таким образом сказать, что у каждого правила есть исключения.
P.S. Если вы с помощью inspect посмотрите код, то увидите явное нарушение этих правил :)
#урок
У Python есть свод правил, которые должен придерживаться каждый разработчик, чтобы его код был стабильным, гибким и читаемым. Прочитать его можно, выполнив
import this.Тим Петерс решил составить свод из 20 правил, но их всего лишь 19. Почему? 20-е правило должен был написать Гвидо Ван Россум — разработчик Python, но это место до сих пор пустует.
Автор языка хотел таким образом сказать, что у каждого правила есть исключения.
P.S. Если вы с помощью inspect посмотрите код, то увидите явное нарушение этих правил :)
#урок
❤5👍2
📌 Аннотация типов. Часть 1
Все мы знаем, что Python — язык с динамической типизацией, то есть язык всю работу касаемо типов объект берёт на себя.
Но у такого подхода есть проблема — редактор кода не знает, что может быть на месте какой-то переменной, из-за чего хуже работает автодополнение.
Также можно передать неправильный тип функции. Ей нужен список, а вы передали множество. Функция отработает и ни Python, ни IDE вам ничего не скажут.
Проблему решили с помощью аннотации, они позволяют редактору узнать, какой тип используется, но никак не меняют поведение программы.
#урок
Все мы знаем, что Python — язык с динамической типизацией, то есть язык всю работу касаемо типов объект берёт на себя.
Но у такого подхода есть проблема — редактор кода не знает, что может быть на месте какой-то переменной, из-за чего хуже работает автодополнение.
Также можно передать неправильный тип функции. Ей нужен список, а вы передали множество. Функция отработает и ни Python, ни IDE вам ничего не скажут.
Проблему решили с помощью аннотации, они позволяют редактору узнать, какой тип используется, но никак не меняют поведение программы.
#урок
❤5👍2
Совет на 2026 год — переходите в ML.
Пока обычные разрабы конкурируют с ИИ-копилотами, ML-инженеры эти самые нейронки создают.
В эпоху нейростей это самые востребованые люди в мире программирования. Зарплаты мидлов начинаются от 250 000 ₽, а у сеньоров в BigTech доходят до 700 000 ₽.
А чтобы освоить его всего за 4 месяца без лишней суеты — изучите канал Артема Алехина.
Его бэкграунд: Руководитель команды в Сбере, валютная удаленка. К 22 годам вышел на доход 1 000 000+ ₽ в месяц.
На канале вы найдёте:
— Всё про самые востребованные стеки(Python, ИИ-агенты, NLP) и почему математика — это не страшно, если учить только нужное.
— Как оформить резюме, чтобы оно пролетало через любые LLM-фильтры и ATS-системы прямо к тимлидам.
— Скрипты переговоров, которые помогли его ученикам прыгнуть с 0 до 360к всего за 8 месяцев.
Во времена острой нехватки ML-разработчиков, это лучшее время, чтобы перекатиться. Переходи и изучай: https://xn--r1a.website/+4VMrjA4vN_dmN2Ey
Пока обычные разрабы конкурируют с ИИ-копилотами, ML-инженеры эти самые нейронки создают.
В эпоху нейростей это самые востребованые люди в мире программирования. Зарплаты мидлов начинаются от 250 000 ₽, а у сеньоров в BigTech доходят до 700 000 ₽.
А чтобы освоить его всего за 4 месяца без лишней суеты — изучите канал Артема Алехина.
Его бэкграунд: Руководитель команды в Сбере, валютная удаленка. К 22 годам вышел на доход 1 000 000+ ₽ в месяц.
На канале вы найдёте:
— Всё про самые востребованные стеки(Python, ИИ-агенты, NLP) и почему математика — это не страшно, если учить только нужное.
— Как оформить резюме, чтобы оно пролетало через любые LLM-фильтры и ATS-системы прямо к тимлидам.
— Скрипты переговоров, которые помогли его ученикам прыгнуть с 0 до 360к всего за 8 месяцев.
Во времена острой нехватки ML-разработчиков, это лучшее время, чтобы перекатиться. Переходи и изучай: https://xn--r1a.website/+4VMrjA4vN_dmN2Ey
❤2👎1
📌 Генераторные списки
Это выражения, которые позволяют нам быстро фильтровать или менять списки. Оно напоминает работу map и filter, только читается чуть проще.
Выглядит оно примерно так: {expression} for i in {iterale} if {expression2}. if используется для фильтрации и его добавление не обязательно.
Записываются эти выражения внутри квадратных скобок ([]), таким образом создаётся список. Если нам нужно множество, записываем в {}, если генератор, в ().
#урок
Это выражения, которые позволяют нам быстро фильтровать или менять списки. Оно напоминает работу map и filter, только читается чуть проще.
Выглядит оно примерно так: {expression} for i in {iterale} if {expression2}. if используется для фильтрации и его добавление не обязательно.
Записываются эти выражения внутри квадратных скобок ([]), таким образом создаётся список. Если нам нужно множество, записываем в {}, если генератор, в ().
#урок
❤5👍2
📓 Байесовский анализ на Python.
Эта книга, посвященная методике вероятностного программирования, научит вас создавать гибкие байесовские статистические модели в программном коде.
Сочетание гибкого определения модели и механизма автоматического логического вывода предоставляет исследователю мощный инструмент для быстрого создания, анализа и постепенного усовершенствования новых статистических моделей. Вероятностное программирование делает статистическое моделирование доступным практически для всех, значительно снижая требования к уровню математической подготовки, позволяя создавать новые модели более простым методом и тратить на это меньше времени.
Издание будет полезно всем специалистам по анализу данных, решающим нетривиальные задачи, связанные с вероятностными распределениями.
#RU
Эта книга, посвященная методике вероятностного программирования, научит вас создавать гибкие байесовские статистические модели в программном коде.
Сочетание гибкого определения модели и механизма автоматического логического вывода предоставляет исследователю мощный инструмент для быстрого создания, анализа и постепенного усовершенствования новых статистических моделей. Вероятностное программирование делает статистическое моделирование доступным практически для всех, значительно снижая требования к уровню математической подготовки, позволяя создавать новые модели более простым методом и тратить на это меньше времени.
Издание будет полезно всем специалистам по анализу данных, решающим нетривиальные задачи, связанные с вероятностными распределениями.
#RU
❤5👍3
📌 Особые методы класса
У класса есть функции (или методы), отвечающие за жизненно важные элементы класса. Но самое интересное то, что вы можете спокойно менять поведение этих методов.
#урок
У класса есть функции (или методы), отвечающие за жизненно важные элементы класса. Но самое интересное то, что вы можете спокойно менять поведение этих методов.
__init__ — конструктор класса. Он вызывается каждый раз, когда создаётся экземпляр класса. Здесь задаются все самые важные значения.__str__, __repr__ — методы для перевода класса в строку. Один вызывается с помощью str() и предназначен для пользователей, второй вызывается с помощью repr() и предназначен для программистов.__eq__ — метод, который вызывается при проверки классов на равенство, то есть при использовании оператора ==.#урок
❤5👍2
📌 Красивый вывод
Небольшие списки/словари ещё можно спокойно читать, но когда появляются вложенные коллекции или словари достигают огромных размеров, их восприятие усложняется в разы.
Поэтому мы можем красиво оформить их вывод с помощью pprint. Модуль добавляет отступы, переносит значения на новую строку, если они не умещаются в одну.
Также библиотека показывает, где может быть рекурсия и скрывает вложенные элементы, в зависимости от параметра depth.
📕 Документация
#урок
Небольшие списки/словари ещё можно спокойно читать, но когда появляются вложенные коллекции или словари достигают огромных размеров, их восприятие усложняется в разы.
Поэтому мы можем красиво оформить их вывод с помощью pprint. Модуль добавляет отступы, переносит значения на новую строку, если они не умещаются в одну.
Также библиотека показывает, где может быть рекурсия и скрывает вложенные элементы, в зависимости от параметра depth.
📕 Документация
#урок
❤7🔥2👍1
📓 Изучаем Python. Том 2.
Благодаря книге вы:" Исследуете основные встроенные типы объектов Python, такие как числа, списки и словари" Научитесь создавать и обрабатывать объекты с помощью операторов Python и освоите общую синтаксическую модель Python" Сможете применять функции для устранения избыточности кода и упаковки кода с целью многократного использования" Узнаете, как организовывать операторы, функции и прочие инструменты в более крупные компоненты посредством модулей" Погрузитесь глубже в классы - инструмент объектно-ориентированного программирования Python для структурирования кода".
Научитесь писать крупные программы с применением модели обработки исключений и инструментов разработки Python" Освоите более сложные инструменты Python, включая декораторы, дескрипторы, метаклассы и обработку Unicode"Книга Learning Python находится в начале моего списка рекомендованной литературы для любого, кто желает научиться программировать на Python."
#RU
Благодаря книге вы:" Исследуете основные встроенные типы объектов Python, такие как числа, списки и словари" Научитесь создавать и обрабатывать объекты с помощью операторов Python и освоите общую синтаксическую модель Python" Сможете применять функции для устранения избыточности кода и упаковки кода с целью многократного использования" Узнаете, как организовывать операторы, функции и прочие инструменты в более крупные компоненты посредством модулей" Погрузитесь глубже в классы - инструмент объектно-ориентированного программирования Python для структурирования кода".
Научитесь писать крупные программы с применением модели обработки исключений и инструментов разработки Python" Освоите более сложные инструменты Python, включая декораторы, дескрипторы, метаклассы и обработку Unicode"Книга Learning Python находится в начале моего списка рекомендованной литературы для любого, кто желает научиться программировать на Python."
#RU
❤5👍3
📌 Что такое декоратор?
Это вызываем объект (например, функция или класс с методом
Создаются они просто. Вы создаёте вызываем объект, который принимает функцию (пусть её имя будет speedtest) и возвращает функцию-обёртку.
Когда вы вызываете speedtest(), на самом деле отрабатывает обёртка, которая потом сама использует полученную функцию.
#урок
Это вызываем объект (например, функция или класс с методом
__call__), которая меняет поведение другой функции.Создаются они просто. Вы создаёте вызываем объект, который принимает функцию (пусть её имя будет speedtest) и возвращает функцию-обёртку.
Когда вы вызываете speedtest(), на самом деле отрабатывает обёртка, которая потом сама использует полученную функцию.
#урок
❤4🔥4
📓 Изучение сложных систем с помощью Python | Дауни Аллен Б.
Наука о поведении сложных системах – использует различные вычисления для изучения естественных и гуманитарных наук. Одним из основных инструментов науки о сложных системах являются дискретные модели, включая сети и графы, клеточные автоматы, а также агентное моделирование.
Наука о сложных системах очень полезна, особенно если необходимо объяснить поведение природных и социальных систем, она обеспечивает разнообразный и адаптируемый инструментарий моделирования, позволяет применить навыки программирования, а также поразмыслить над фундаментальными вопросами философии науки. В книге приводится код, математические тексты и пояснения, необходимые для понимания работы моделей. Издание будет полезно широкому кругу лиц, здесь опущены очень сложные технические детали.
#RU
Наука о поведении сложных системах – использует различные вычисления для изучения естественных и гуманитарных наук. Одним из основных инструментов науки о сложных системах являются дискретные модели, включая сети и графы, клеточные автоматы, а также агентное моделирование.
Наука о сложных системах очень полезна, особенно если необходимо объяснить поведение природных и социальных систем, она обеспечивает разнообразный и адаптируемый инструментарий моделирования, позволяет применить навыки программирования, а также поразмыслить над фундаментальными вопросами философии науки. В книге приводится код, математические тексты и пояснения, необходимые для понимания работы моделей. Издание будет полезно широкому кругу лиц, здесь опущены очень сложные технические детали.
#RU
❤8🔥2
📌 Создаём свой дата сервер
Для этого нам нужен действительно хороший модуль, которым сможет поддерживать несколько сотен соединений-долгожителей. И такой существует — Tornado.
Установка:
Но у проекта есть небольшие недостатки: он работает только в одном потоке. Также он не пользуется принципами WSGI, что может сбить множество с толку.
#урок
Для этого нам нужен действительно хороший модуль, которым сможет поддерживать несколько сотен соединений-долгожителей. И такой существует — Tornado.
Установка:
pip install tornado
Соединения-долгожители — те, кто требуют длительного подключения к сайту. Например, при загрузке файла, прослушивании музыки, игры.Но у проекта есть небольшие недостатки: он работает только в одном потоке. Также он не пользуется принципами WSGI, что может сбить множество с толку.
#урок
❤6👍3
📌 Оформляем текст
Для этого нам нужен textwrap. В модуле довольно много функций, но вот эти основные:
#урок
Для этого нам нужен textwrap. В модуле довольно много функций, но вот эти основные:
wrap(text, width=70, ...) — Оборачивает текст так, чтобы длина каждой строки не превышала width. fill(то же, что и wrap) — сокращение для "n".join(wrap(text, ...)).indent(text, prefix) — Добавляет prefix к каждой новой строке. shorten(text, width, ..., placeholder=' [...]') — Ограничивает текст до width и добавляет в конце placeholder.#урок
❤4👍4
📓 Алгоритмы обучения с подкреплением на Python.
• Эта книга поможет читателю овладеть алгоритмами обучения с подкреплением (ОП) и научиться реализовывать их при создании самообучающихся агентов.
• В первой части рассматриваются различные элементы ОП, сфера его применения, инструменты, необходимые для работы в среде ОП. Вторая и третья части посвящены непосредственно алгоритмам. В числе прочего автор показывает, как сочетать Q-обучение с нейронными сетями для решения сложных задач, описывает методы градиента стратегии, TRPO и PPO, позволяющие повысить производительность и устойчивость, а также детерминированные алгоритмы DDPG и TD3. Читатель узнает о том, как работает техника подражательного обучения, познакомится с алгоритмами исследования на базе верхней доверительной границы (UCB и UCB1) и мета-алгоритмом ESBAS.
#RU
• Эта книга поможет читателю овладеть алгоритмами обучения с подкреплением (ОП) и научиться реализовывать их при создании самообучающихся агентов.
• В первой части рассматриваются различные элементы ОП, сфера его применения, инструменты, необходимые для работы в среде ОП. Вторая и третья части посвящены непосредственно алгоритмам. В числе прочего автор показывает, как сочетать Q-обучение с нейронными сетями для решения сложных задач, описывает методы градиента стратегии, TRPO и PPO, позволяющие повысить производительность и устойчивость, а также детерминированные алгоритмы DDPG и TD3. Читатель узнает о том, как работает техника подражательного обучения, познакомится с алгоритмами исследования на базе верхней доверительной границы (UCB и UCB1) и мета-алгоритмом ESBAS.
#RU
❤6🔥2
📌 Проверка свойств
Пользователь постоянно пытается запихнуть в программу то, чего там быть не должно. Чтобы избежать странного поведения, данные должны проходить валидацию, и сделать это проще всего с pydantic.
Установка:
Библиотека занимается не только валидацией, но и решает проблемы с динамической типизацией.
📕 Документация
#урок
Пользователь постоянно пытается запихнуть в программу то, чего там быть не должно. Чтобы избежать странного поведения, данные должны проходить валидацию, и сделать это проще всего с pydantic.
Установка:
pip install pydantic
Модуль завоевал уважение среди программистов, поскольку работает довольно быстро (сравнение тут), не требует много кода, поддерживает множество редакторов кода.Библиотека занимается не только валидацией, но и решает проблемы с динамической типизацией.
📕 Документация
#урок
❤7🔥2
📓 Сам себе программист. Как научиться программировать и устроиться в Ebay.
• Автор книги всего за год научился программировать, что само по себе немало. Однако Кори Альтхофф пошел дальше, и, научившись программировать, он устроился разработчиком в одну из самых серьезных современных IT-компаний – Еbау. Как ему удалось? Читайте эту книгу, изучайте программирование на языке Python по уникальной авторской методике – вам это тоже по силам!
#RU
• Автор книги всего за год научился программировать, что само по себе немало. Однако Кори Альтхофф пошел дальше, и, научившись программировать, он устроился разработчиком в одну из самых серьезных современных IT-компаний – Еbау. Как ему удалось? Читайте эту книгу, изучайте программирование на языке Python по уникальной авторской методике – вам это тоже по силам!
#RU
❤8👍2👎2
📌 IT и юмор
На просторах интернета существует небольшая библиотека, под названием pyjokes. Она хранит в себе набор шуток, связанных с программированием, Python и Чаком Норрисом.
Установка:
Симпатия к дьяволу на самом деле заключается в том, чтобы быть добрым к тестировщикам.
Сколько программистов нужно, чтобы поменять лампочку? Нисколько, они просто делают темноту стандартом.
#урок
На просторах интернета существует небольшая библиотека, под названием pyjokes. Она хранит в себе набор шуток, связанных с программированием, Python и Чаком Норрисом.
Установка:
pip install pyjokes
Почему QA перешел дорогу? Испортить всем день.Симпатия к дьяволу на самом деле заключается в том, чтобы быть добрым к тестировщикам.
Сколько программистов нужно, чтобы поменять лампочку? Нисколько, они просто делают темноту стандартом.
#урок
❤6👍3
📓 Практический анализ временных рядов: прогнозирование со статистикой и машинное обучение.
• В этом практическом руководстве описаны современные технологии анализа данных временных рядов и приведены примеры их практического использования в самых разных предметных областях. Оно призвано помочь в решении наиболее распространенных задач исследования и обработки временных рядов с помощью традиционных статистических методов и наиболее популярных моделей машинного обучения.
• В своей книге, автор рассматривает самые распространенные и доступные инструменты анализа временных рядов, включенные в программные пакеты языков R и Python, которые могут применяться специалистами по работе с данными и разработчиками программного обеспечения для написания собственных эффективных решений.
#RU
• В этом практическом руководстве описаны современные технологии анализа данных временных рядов и приведены примеры их практического использования в самых разных предметных областях. Оно призвано помочь в решении наиболее распространенных задач исследования и обработки временных рядов с помощью традиционных статистических методов и наиболее популярных моделей машинного обучения.
• В своей книге, автор рассматривает самые распространенные и доступные инструменты анализа временных рядов, включенные в программные пакеты языков R и Python, которые могут применяться специалистами по работе с данными и разработчиками программного обеспечения для написания собственных эффективных решений.
#RU
❤4🔥3
📌 Пасхалки в Python
Вам нравится пасхалки в играх? А они есть даже в таких серьёзных проектах, как Python. просто введите любую команду ниже и наблюдайте за результатом.
•
#урок
Вам нравится пасхалки в играх? А они есть даже в таких серьёзных проектах, как Python. просто введите любую команду ниже и наблюдайте за результатом.
•
from __future__ import braces
• import this
• import __hello__
• import types
help(types.CodeType)
• Установите pip install antigravity, после — введите import antigravity.#урок
❤5👍3