Разъяснивший Python – Telegram
Разъяснивший Python
7.71K subscribers
2.77K photos
40 videos
30 files
2.66K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
Поверхностное копирование

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

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

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

Разъяснивший Python
Композиция классов

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

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

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

Разъяснивший Python
👍4
Библиотека Manim

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

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

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

Разъяснивший Python
Функция zip()

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

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

Разъяснивший Python
Модуль warnings

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

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

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

Разъяснивший Python
👍1
Метод discard()

В приведенном выше примере метод discard() используется для удаления элемента из множества. В результирующем множестве нет элемента 3, поскольку метод discard() удалил его. Если элементов нет в исходном множестве, ничего не меняется.

Разъяснивший Python
Collections.Counter

collections.Counter — это специальный класс, предоставляющий удобный способ подсчета хэшируемых объектов. Он является подклассом словаря и предоставляет функциональность для подсчета количества вхождений каждого элемента в последовательность (список, кортеж, строку и т.д.).

Разъяснивший Python
👍3
String.partition

partition() разбивает строку при первом появлении разделителя на три составляющие: начало, разделитель и конец. В результате возвращается строка в виде кортежа. Если разделитель не найден, в результате будут две пустые строки и исходная строка.

Разъяснивший Python
4
Модуль transliterate

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

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

pip install transliterate

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

Разъяснивший Python
1🤡1
Функция os.rename()

В Python функция os.rename() используется для переименования файла или директории в операционной системе. Она входит в модуль os.

Разъяснивший Python
👍5😱2
Duck typing

Duck typing — это парадигма в программировании, используемая в языках с динамической типизацией, таких как Python. Суть duck typing заключается в том, что тип объекта определяется его поведением (методами и свойствами), а не явно указанным интерфейсом или базовым классом.

В Python duck typing часто выражается фразой: «Если это выглядит как утка, плавает как утка и крякает как утка, то это, вероятно, и есть утка.»

Разъяснивший Python
3👍3🥴1
Шифрование и расшифровка паролей

Приведенный ниже скрипт выполняет шифрование и дешифрование текста с использованием пакета cryptography.

В приведенной выше реализации ключ шифрования генерируется с помощью метода Fernet.generate_key() и сохраняется в файле для дальнейшего использования.

Шифрование и дешифрование текста выполняются с использованием класса Fernet из пакета cryptography , где текст шифруется с помощью метода encrypt() и расшифровывается с помощью метода decrypt().

Разъяснивший Python
😈1
igraph

igraph — это библиотека для работы с графами (сетями) в Python. Она предоставляет инструменты для создания, анализа и визуализации графов. Если у вас нет установленной библиотеки igraph, вы можете установить её с помощью pip:

pip install python-igraph


Разъяснивший Python
Forwarded from ВИЛСАКОМ РЕД / WYLSACOM RED (Randomize Bot 🎲 [Рандомайзер])
⚡️Мегарозыгрыш призов! Разыгрываем два MacBook Pro 14’’ Space Gray на M3, два iPhone 15 Pro Max 256 ГБ цвета Black Titan и Natural Titan, два Oculus Quest 3.

Для участия нужно:

• подписаться на @whackdoor;
• подписаться на @wylsared;
• нажать кнопку «Участвую».

Итоги конкурса подведёт бот 5 декабря в 19:00, он выберет победителей. Порядок победителей будет такой: первое имя — MacBook Pro 14, второе — MacBook Pro 14, третье — iPhone 15 Pro Max 256 ГБ Natural Titan, четвёртое — iPhone 15 Pro Max 256 ГБ Black Titan, пятое и шестое — Oculus Quest 3.

Приз отправляем за наш счёт по РФ, Беларуси и Казахстану. Всем удачи!

⚠️ Если кнопка подвисла — не переживайте, вас все равно зарегистрирует, просто выполните условия и нажмите «Участвовать».
👎1
Оператор pass

В Python оператор pass представляет собой пустой оператор, который не выполняет никаких действий. Он часто используется там, где синтаксически требуется presense of code (т.е. наличие кода), но непосредственное выполнение каких-либо действий не требуется.

В примере на картинке pass используется в блоке if, чтобы указать, что в случае, если условие True, необходимо просто перейти к следующему блоку кода.

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

Разъяснивший Python
👍1
SymPy

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

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

Разъяснивший Python
👍1
Оператор raise

Оператор raise используется для возбуждения исключения (exception). Он позволяет программистам явным образом указывать, что в программе произошла какая-то ошибка или неожиданное условие, и вызывать соответствующее исключение.

Синтаксис оператора raise выглядит следующим образом:

raise [Exception [, args [, traceback]]]


Где Exception — это тип исключения, которое вы хотите возбудить, а args и traceback — дополнительные аргументы, связанные с исключением.

Можно также использовать оператор raise без аргументов, чтобы повторно возбудить текущее исключение внутри блока except. Это может быть полезно, если вы хотите добавить дополнительную информацию к исключению

Разъяснивший Python
dict.get()

dict.get() — это метод словаря, который используется для получения значения по заданному ключу. Однако, в отличие от обращения к элементу словаря с использованием квадратных скобок (dict[key]), метод get() предоставляет дополнительную возможность задать значение по умолчанию, которое будет возвращено, если ключ не найден в словаре.

Синтаксис метода get() выглядит так:

value = dict.get(key, default)

key: Ключ, по которому производится поиск в словаре.
default (необязательный): Значение, которое будет возвращено, если ключ не найден в словаре. Если default не указан, и ключ не найден, метод вернет None.

Разъяснивший Python
👍1
set.difference update

Метод difference update() вычисляет разницу между двумя множествами (A – B). В результате множество A обновляется полученным множеством. В данном примере продемонстрировано применение метода.

Разъяснивший Python
👍1
Напишите функцию на Python, которая принимает строку и возвращает словарь, содержащий количество вхождений каждого слова в строке. Считайте, что слова в строке разделяются пробелами, и игнорируйте знаки препинания.

Для начала используем метод translate для удаления знаков препинания из исходной строки. Модуль string предоставляет строку punctuation, содержащую все знаки препинания. Метод translate использует таблицу перевода для удаления указанных символов.

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

Создаём пустой словарь word_count для подсчета вхождений каждого слова. Затем, используя цикл for, проходимся по списку слов и обновляем счетчик в словаре. Если слово уже есть в словаре, увеличиваем его счетчик на 1; если нет, добавляем его в словарь с начальным счетчиком 1.

Наконец, возвращаем словарь word_count, который содержит количество вхождений слова в тексте.

Разъяснивший Python
2
Twisted

Twisted — это асинхронный фреймворк для разработки сетевых приложений на языке Python. Он предоставляет реализацию множества протоколов, таких как TCP, UDP, SSL/TLS, DNS, и других, используя асинхронный стиль программирования.

Код выше создает TCP-сервер, прослушивающий порт 1234, и при подключении клиента создает экземпляр MyProtocol, который обрабатывает данные в методе dataReceived. В приведенном примере, сервер просто отправляет обратно полученные данные.

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

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

Разъяснивший Python
👍2