TGViewer
Channel Public Channel
Разъяснивший Python

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

@python_pssss

Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/python_pssss
Subscribers
6.95K
Photos
3.3K
Videos
48
Links
3.3K

Showing posts older than #3016 · Back to latest

Older Posts 20 shown
Post #3014 496
Исключение из очереди стека

Класс collections.deque() это обобщение стеков и очередей и представляет собой двустороннюю очередь. Двусторонняя очередь deque() поддерживает поточно-ориентированные, эффективные по памяти операции добавления и извлечения элементов последовательности с любой стороны с примерно одинаковой производительностью O(1) в любом направлении.

Разъяснивший Python
Post #3013 524
Сжатие списка

Этот скрипт удаляет «ложные» значения (False, None, 0 и пустую строку ' ') из списка. Используется встроенная функция filter(): c параметром None на первом месте она удалит из списка lst все значения, которые не вернут True по умолчанию.

Проверить вручную какое-либо значение на True/False можно с помощью функции bool(): bool(0) вернёт False, но bool('0') уже будет True, так как это непустая строка.

Разъяснивший Python
Post #3012 541
Невидимые заметки в файле!

Этот лайфхак позволяет скрывать текстовые сообщения внутри файлов, так что их нельзя будет увидеть обычными способами!

Как это работает?
Мы используем невидимые символы Unicode для сокрытия текста прямо в файле. Такие символы не отображаются в редакторах, но остаются в файле!

Как это работает?
Встроенные в текст невидимые символы Unicode (\u200b, \u200c) кодируют биты скрытого сообщения.
Файл выглядит обычным текстом, но содержит невидимую информацию.
Сообщение можно извлечь с помощью специального кода.

Разъяснивший Python
  • 👎 1
Post #3010 462
Управление компьютером с помощью жестов руки!

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

Как это работает?
MediaPipe Hands отслеживает положение руки.
Определяются координаты указательного пальца.
Курсор двигается в соответствии с движениями руки.

Где это можно использовать?
Бесконтактное управление компьютером (например, в презентациях).
Игры с управлением руками (виртуальная мышь).
Регулировка громкости (например, сжатие руки — уменьшение громкости).

Разъяснивший Python
Post #3009 531
Проверка на дубликаты

Этот простой скрипт проверяет, содержатся ли в списке повторяющиеся значения (дубликаты). Используется свойство множеств set, которые могут содержать только уникальные элементы.

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

Разъяснивший Python
  • 👎 2
  • 👍 1
Post #3007 503
pathlib.Path.read_text()

pathlib.Path.read_text() — удобный способ прочитать содержимое текстового файла в строку. Этот метод автоматически открывает файл, читает его содержимое и закрывает его после чтения.

Разъяснивший Python
Post #3006 533
«Вместо философии учил java, вместо доты — питон. Через 3 месяца нашёл работу с зп 90к»

Думаете, повезло?

Уверен, что так сможет каждый — потому что эти языки востребованы (70% программ и сервисов работают на них) и просты в усвоении (за 3 месяца можно выйти на достойный уровень без напряга).

А вот и каналы, где нашёл всю инфу. Её грамотно собрали, даже сложные темы изучаются легко:

Java (теория)
Java (практика)
Python

Уже через месяц сможете писать простеньких ботов для телеги и продавать по 5-7к, кайф же 🥰
  • 👍 1
  • 🔥 1
Post #3005 488
contextlib.ExitStack

contextlib.ExitStack позволяет управлять несколькими контекстными менеджерами динамически.

Разъяснивший Python
Post #3004 583
Как найти самый частый элемент

Этот короткий скрипт вернёт элемент, чаще всего встречающийся в списке.

Используются продвинутые параметры встроенной функции max():

• первым аргументом она получает множество из элементов списка (помним, что в множестве все элементы уникальны);
• затем применяет к каждому из них функцию count, подсчитывающую, сколько раз элемент встречается в списке;
• после этого возвращает элемент множества, который имеет больше всего «попаданий».

В качестве аргумента можно использовать списки, кортежи и строки.

Разъяснивший Python
Post #3003 560
Проверка строки на палиндром

Простой вариант этого кода проверяет, является ли слово без пробелов и знаков препинания, написанное в одном регистре, палиндромом.

Более сложный вариант, который сможет проверить строку «А роза упала на лапу Азора», предлагаем написать самостоятельно. Общая идея: свести сложную строку к простой, хоть и длинной 'арозаупаланалапуазора'. Вам пригодятся функции строк .lower(), .join(), а также, возможно, преобразование строки в список.

Разъяснивший Python
  • ❤ 1
  • 👍 1
Post #3002 559
Перемешать элементы списка

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

Разъяснивший Python
Post #3001 580
Полезные библиотеки Python

Chaplin — утилита для визуального распознавания речи по губам (VSR), которая считывает движения ваших губ и мгновенно преобразует их в текст.

Ключевые особенности:
Мгновенное распознавание: Реагирует на движения губ в реальном времени.
Полная локальная работа: Все процессы выполняются на вашем устройстве, обеспечивая конфиденциальность данных.
Открытый исходный код: Доступен для сообщества разработчиков на GitHub.

Как это работает? Chaplin использует модель, обученную на наборе данных Lip Reading Sentences 3 (LRS3), что позволяет ему точно интерпретировать чтение по губам.

Установка:
$ git clone https://github.com/amanvirparhar/chaplin
$ cd chaplin


Далее качаем необходимые модели, ссылки на GitHub

Пример использования:
$ sudo uv run --with-requirements requirements.txt --python 3.12 main.py config_filename=./configs/LRS3_V_WER19.1.ini detector=mediapipe


⚙️ GitHub/Инструкция

Разъяснивший Python
Post #2999 502
Преобразование разделённого запятыми списка в строку

Этот код преобразует разделённый запятыми список в единую строку. Его удобно использовать, когда нужно объединить весь список со строкой.

Разъяснивший Python
Post #2998 537
sys.setprofile()

Метод sys.setprofile() позволяет установить функцию профилирования, которая вызывается при каждом вызове, возврате или исключении в Python-коде. Это полезно для отладки, анализа производительности и трассировки выполнения кода.

Разъяснивший Python
Post #2997 602
Выражения присваивания (Assignment expressions)

Так же известные как «моржовый оператор» (walrus operator) — новый синтаксис, который позволит присваивать значения переменным внутри другого выражения. Это, наверное, самое известное и обсуждаемое из нововведений версии 3.8.

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

Разъяснивший Python
Post #2996 573
NumPy: Индексация и срезы

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

Разъяснивший Python
Post #2994 523
functools.singledispatch

Метод functools.singledispatch позволяет создавать перегруженные функции на основе типа первого аргумента. Это полезно для написания обобщённого кода без сложных if isinstance(...).

Разъяснивший Python
Post #2993 560
Преобразование списка в одну строку

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

Но есть более быстрый и эффективный способ выполнения той же задачи с помощью одной строки кода.

Разъяснивший Python
Post #2991 584
threading.Timer()

Метод threading.Timer() позволяет создавать таймеры, которые выполняют определенную функцию через заданный интервал времени. Это полезно для отложенного выполнения задач без блокировки основного потока.

Разъяснивший Python
Post #2989 606
Антипаттерн недели: Использование mutable default arguments

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

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

Разъяснивший Python
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →