Just Python
10.2K subscribers
4.4K photos
11 videos
4.38K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Download Telegram
Green threads

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

#theory // Just Python
PsychoPy

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

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

#theory // Just Python
Метод str.replace()

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

new_string = old_string.replace(old_substring, new_substring)


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

#theory // Just Python
Поверхностное копирование

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

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

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

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

#theory // Just Python
Композиция классов

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

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

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

#theory // Just Python
Библиотека 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.

#theory // Just Python
Объединение функцией zip()

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

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

#theory // Just Python
Как работает хэш-таблица?

Хэш-таблица в Python реализована в виде словаря (dict). Вот как это работает:

— Хэширование ключей: Когда вы добавляете пару ключ-значение в словарь, Python сначала вычисляет хэш-код ключа с помощью встроенной функции hash(). Хэш-код - это целое число, представляющее "отпечаток" ключа.

— Разрешение коллизий: Если два разных ключа имеют одинаковый хэш-код (коллизия), Python использует механизм разрешения коллизий для размещения значений в памяти. Одним из наиболее распространенных методов разрешения коллизий является метод цепочек, когда для каждого "ячейки" хэш-таблицы выделен список, в который добавляются все значения с одинаковыми хэш-кодами.

— Поиск значения: При поиске значения по ключу Python сначала вычисляет хэш-код ключа и затем использует его для определения соответствующей "ячейки" в хэш-таблице. Затем происходит поиск значения внутри этой "ячейки" (или цепочки).

#theory // Just Python
Библиотека для трансляции текста

В Python существует несколько библиотек для транслитерации текста, и одной из них является библиотека transliterate. Этот модуль позволяет переводить текст из одной письменности в другую, например, из кириллицы в латиницу.

Для использования библиотеки transliterate сначала нужно установить её с помощью pip:

pip install transliterate


Библиотека transliterate поддерживает несколько письменностей, так что вы можете использовать её для транслитерации текста между различными языками.

#theory // Just Python
👩‍💻 Программирование — В С Ё

В 2024 году на кодинге уже не вывезешь, перспектива года - Информационная Безопасность.

Ловите полезные каналы, которые помогут ворваться в новое направление.

👍 ZeroDay - Уроки, эксплуатация уязвимостей с нуля
👍 Белый Хакер - Свежие новости из мира ИБ
😎 Арсенал Безопасника - Все необходимые инструменты
😎 Бункер Хакера - Статьи, книги, шпаргалки и хакинг
👨‍💻 Серверная Админа - Настройка и уроки по компьютерным сетям

📂Вступай и изучай новое направление!
Please open Telegram to view this post
VIEW IN TELEGRAM
Библиотека для квантовых вычислительных

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

Вы можете изучить документацию Qiskit для получения более подробной информации и примеров использования.

#theory // Just Python
Узнаём ip адрес своего компьютера

Этот код использует библиотеку requests для отправки HTTP-запроса к веб-сервису ipify, который предоставляет API для определения публичного IP-адреса пользователя. Код написан в форме функции get_public_ip, что делает его удобным для повторного использования.

Использование блока try-except обеспечивает обработку исключений, которые могут возникнуть при запросе (например, проблемы с подключением к интернету). Если запрос успешен, функция возвращает IP-адрес, иначе возвращает сообщение об ошибке.

#theory // Just Python
JPype

JPype - это модуль, который позволяет взаимодействовать с кодом на Java из Python.

Основные области применения JPype:
- Доступ к библиотекам Java из Python.
- Интеграция с существующим Java кодом.
- Использование JVM из Python.

В этом примере мы импортируем класс String из Java и создаем экземпляр этого класса.
Затем вызываем метод toUpperCase() у объекта javaString. Таким образом из Python мы можем работать с объектами и вызывать методы Java.
Результат работы программы:
HELLO FROM JAVA!

#theory // Just Python
Модульное программирование

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

#theory // Just Python
Pyro4

Pyro4 — это библиотека Python для удаленного вызова процедур (RPC). Она позволяет создавать удаленные объекты, которые можно вызывать из других процессов или компьютеров.

Чтобы использовать Pyro4, необходимо сначала установить библиотеку. Это можно сделать с помощью менеджера пакетов pip:

pip install Pyro4


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

#theory // Just Python
Xarray

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

Xarray похож на Pandas, но ориентирован не на табличные данные, а на N-мерные массивы данных

#theory // Just Python
PyQt6

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

Чтобы начать работу с PyQt6, необходимо установить библиотеку. Для этого можно использовать менеджер пакетов, такой как pip:

pip install PyQt6

После установки библиотеки можно начать писать код для создания приложения с GUI.

#theory // Just Python
PyGObject

PyGObject — это набор Python-привязок для библиотеки GObject, которая является основой для создания кроссплатформенных приложений на GTK+ для Windows, macOS и Linux.

PyGObject доступен в большинстве дистрибутивов Linux и macOS. В Windows его можно установить с помощью пакетного менеджера Chocolatey.

choco install pygobject


Код с картинки создаёт окно с заголовком «Привет, мир!» и выводит его на экран.

#theory // Just Python
Функция высшего порядка

Функция высшего порядка — это функция, которая принимает в качестве аргумента другую функцию и/или возвращает функцию в качестве результата.

Функции высшего порядка могут использоваться для различных целей, включая:

— Инкапсуляция многократно используемого поведения
— Создание более абстрактного кода
— Усиление выразительности кода

#theory // Just Python
Библиотека statistics

Библиотека statistics в Python предоставляет функции для выполнения математических операций и статистического анализа числовых данных. Она входит в стандартную библиотеку Python и не требует установки.

#theory // Just Python
Astropy о библиотеке

Astropy — это библиотека с открытым исходным кодом для Python, предназначенная для выполнения астрономических расчетов. Это широко используемая библиотека в среде профессиональных астрономов. Философия проекта предполагает максимальное переиспользование уже существующих научных пакетов.

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

#theory // Just Python