Python Learning
33.4K subscribers
1.95K photos
8 videos
7 files
955 links
№ 4974297878

Обучающий канал по Python

Ссылка для друга - https://t.me/+I7jrAQKR5xAyYTAy

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

Реклама на бирже - https://telega.in/c/Python_per_month
Download Telegram
Регулярные выражения — это не трудно

Регулярные выражения имеют дурную славу из-за присущей им сложности. Это справедливо, но я также считаю, что если сосредоточиться на определенном ключевом подмножестве регулярных выражений, то это не так уж и сложно. Большая часть трудностей возникает из-за различных «шорткатов», которые трудно запомнить.

Смотреть статью
👍14🎉2
Библиотека CVXPY

Библиотека CVXPY — это библиотека для оптимизации задач выпуклого программирования (Convex Programming) в Python. Она позволяет решать широкий спектр задач оптимизации, таких как линейное программирование, квадратичное программирование, полуопределенное программирование и другие, с использованием декларативного синтаксиса.

Чтобы начать использовать библиотеку CVXPY, вам потребуется установить её и импортировать в свой Python-скрипт или среду.

В примере на картинке мы создали две переменные x и y, определили целевую функцию и ограничения, создали задачу оптимизации, и затем решили её с использованием метода solve(). Результаты оптимизации доступны через атрибуты value переменных.

#для_начинающих
❤‍🔥8👍4
Генераторы коллекций

В Python генераторы коллекций (или генераторы) представляют собой удобный способ создания итерируемых последовательностей данных без необходимости сохранять все элементы в памяти. Они могут использоваться для генерации значений на лету, что делает их полезными для работы с большими или бесконечными последовательностями данных.

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

#для_начинающих
👍10🥰1🎉1🆒1
Библиотека setuptools

Библиотека setuptools является инструментом для упрощения процесса создания, установки и распространения пакетов Python. Она используется в основном для упрощения установки и управления зависимостями Python-пакетов.

setuptools
предоставляет функциональность для создания файлов setup.py, которые содержат информацию о вашем пакете, его зависимостях и других метаданных. Этот файл используется инструментами для установки пакетов, такими как pip.

#для_начинающих
👍5
Метод issuperset()

Метод issuperset() возвращает True, если все элементы указанного набора существуют в исходном наборе, в противном случае он возвращает False.

#для_начинающих
🔥19👍5
Класс Process

Класс Process предоставляется модулем multiprocessing и используется для создания и управления процессами. Процессы являются отдельными экземплярами выполнения программы, каждый со своим собственным пространством памяти, ресурсами и потоками выполнения. Использование процессов вместо потоков может быть полезным в ситуациях, когда требуется более высокая изоляция данных, или когда нужно использовать несколько ядер процессора для параллельной обработки.

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

#для_начинающих
👍13❤‍🔥1
PySimpleGUI

PySimpleGUI — это простая и легкая в использовании библиотека для создания графического интерфейса (GUI) в Python. Она предоставляет простые инструменты для создания оконных приложений с использованием графических элементов, таких как кнопки, текстовые поля, чекбоксы и др. PySimpleGUI предоставляет удобный интерфейс для создания GUI, особенно для начинающих разработчиков.

PySimpleGUI поддерживает различные стили и темы, и вы можете легко настраивать внешний вид вашего приложения. Вы можете найти дополнительные примеры использования PySimpleGUI на официальном сайте проекта.

#для_продвинутых
👍11🎉1
Что выведет этот код?
Anonymous Quiz
46%
0 1
17%
1 2
25%
Ошибку
11%
Узнать ответ
🤔14😁6👍2🍾1🗿1
Green threads

Зелёные потоки (green threads) — это потоки выполнения, управление которыми вместо операционной системы производит виртуальная машина (ВМ). Green threads эмулируют многопоточную среду, не полагаясь на возможности ОС по реализации легковесных потоков. Управление ими происходит в пользовательском пространстве, а не пространстве ядра, что позволяет им работать в условиях отсутствия поддержки встроенных потоков.

#для_продвинутых
🎉6👍4
pprint

pprint (pretty-print) предоставляет функционал для красивого вывода структур данных в удобочитаемой форме. Он используется для отображения сложных объектов, таких как словари и списки, с отступами и переносами строк для лучшей читаемости.

#для_начинающих
👍23
Что выведет этот код?
Anonymous Quiz
49%
[[]]
18%
[[...]]
26%
Ошибку
8%
Узнать ответ
🤔13👍9
PsychoPy

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

В примере на картинке мы создаем окно, текстовый стимул, отображаем его, ждем 2 секунды и затем закрываем окно. PsychoPy предоставляет богатый набор функций для создания более сложных экспериментов, таких как представление изображений, воспроизведение звуков, сбор данных о времени реакции и многое другое.

#для_продвинутых
👍10🗿5🤔2🥰1🎉1
Метод str.replace()

Метод str.replace() в Python используется для замены подстроки в строке новой подстрокой. Вот базовый синтаксис метода:

new_string = old_string.replace(old_substring, new_substring)


где:
old_string — исходная строка, в которой вы хотите выполнить замену.
old_substring — подстрока, которую вы хотите заменить.
new_substring — новая подстрока, которой вы хотите заменить старую подстроку.

#для_начинающих
👍14🎉1
Поверхностное копирование

Копирование объектов может быть выполнено как «поверхностное» (shallow) копирование или «глубокое» (deep) копирование. Различия между ними заключаются в том, как обрабатываются вложенные объекты.

Глубокое копирование мы уже рассматривали в посте выше, поэтому этот пост мы посвятим Поверхностному копированию.

При поверхностном копировании создается новый объект, но его внутренние элементы (если они тоже являются объектами) остаются ссылками на те же объекты, что и в оригинале. Другими словами, копируются только ссылки на объекты, но не сами объекты.

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

#для_начинающих
👍10🎉1
Композиция классов

Композиция классов — это концепция, при которой один класс включает в себя объект(ы) другого класса в качестве атрибута. Это отличается от наследования, где класс наследует атрибуты и методы другого класса. Композиция обычно предпочтительна в сравнении с наследованием, так как она обеспечивает более гибкую структуру.

Композиция обычно предпочтительна, когда отношение между двумя классами является «имеет» или «включает», а не «является». Она делает код более гибким, позволяя изменять поведение объекта, не изменяя его класс напрямую.

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

#для_продвинутых
👍13
Библиотека Manim

Библиотека Manim (Mathematical Animation Engine) предоставляет инструменты для создания анимаций математических концепций с использованием Python. Эта библиотека широко используется в образовательных целях и в сообществе, занимающемся созданием математических контентов. Manim была изначально разработана Grant'ом Sanderson'ом, создателем 3Blue1Brown, для создания анимаций для его образовательных видеороликов.

Помимо этого, существует две версии Manim: Manim Community Edition (ManimCE) и Manim GL. ManimCE является развитием и поддерживается сообществом. Manim GL, с другой стороны, предоставляет улучшенные возможности OpenGL для более высокого качества анимаций.

После установки вы можете использовать команды вроде manim your_script.py YourSceneName -p -ql, чтобы создать видео на основе вашего скрипта.

Однако, учтите, что состояние инструментов и их документации может измениться, поэтому рекомендуется посетить официальный репозиторий Manim на GitHub для получения последней информации: Manim Community Edition.

#для_продвинутых
👍12🆒1
Функция zip()

Функция zip() используется для объединения элементов из двух или более итерируемых объектов в кортежи. Эти кортежи могут затем быть использованы, например, для создания словарей или других структур данных. Функция zip() создает итератор, который генерирует кортежи из элементов, взятых по одному из каждого переданного ей итерируемого объекта.

Важно отметить, что если переданные итерируемые объекты имеют разную длину, zip() остановится, когда самый короткий из них исчерпается.

#для_начинающих
👍21
Модуль warnings

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

Модуль warnings полезен, когда необходимо предупредить пользователя о каком-либо условии в программе и это условие не требует создания исключения и завершения программы.

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

#для_начинающих
👍11