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

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3MnbSc
Download Telegram
Всего за 5 минут определите подходящую вам IT-профессию.

Онлайн-школа Skillfactory разработала уникальный профориентационный тест из 18 вопросов. Ответив на них, узнаете наиболее подходящую вам специальность.

Работайте в российских или зарубежных компаниях, в офисе или удаленно. Для айтишников — сниженная ставка по ипотеке, высокая зарплата, комфортные условия и гибкий график.

Переходите по специальной ссылке, чтобы пройти тест, получить карьерную консультацию и мини-курс для выбора профессии в IT или дизайне

Реклама. Информация о рекламодателе по ссылкам в посте.
list.remove

list.remove() — это метод, который позволяет удалить первое вхождение элемента из списка по его значению. Если указанного значения нет в списке, будет вызвано исключение ValueError. Если в списке несколько одинаковых элементов, метод remove() удалит только первое вхождение.

#theory // Just Python
Как отсортировать список по длине элементов?

Иногда нужно отсортировать список строк по длине элементов. Новички могут пытаться вручную сравнивать длины через циклы, но в Python есть простой способ — использовать параметр key в функции sorted().

Этот приём позволяет отсортировать список буквально в одну строку: sorted(list1, key=len) сортирует строки по их длине в порядке возрастания.

Итог:
Работает за одну строку.
Подходит для любых списков строк.
Удобен для работы с текстами!

#theory // Just Python
Автоматическое рисование ASCII-арт из изображения

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

Как это работает:
1. Масштабирование изображения: Изображение уменьшается до заданной ширины, чтобы упростить обработку.
2. Градации серого: Цветные пиксели преобразуются в оттенки серого.
3. Преобразование в символы: Каждый пиксель заменяется ASCII-символом в зависимости от его яркости.
4. Генерация текста: ASCII-символы собираются в строки, формируя текстовое изображение.

#theory // Just Python
Как преобразовать список в словарь с индексами?

Иногда нужно преобразовать список в словарь, где ключи — это индексы, а значения — элементы списка. Новички могут пытаться делать это через циклы, но в Python есть более удобный способ — функция enumerate().

Этот приём позволяет создать словарь буквально в одну строку: {i: v for i, v in enumerate(list1)} создаёт пары индекс-значение.

Итог:
Работает за одну строку.
Позволяет легко связать индексы с элементами.
Удобен для обработки данных!

#theory // Just Python
Как ускорить код с NumPy?

Циклы в Python работают медленно, особенно при обработке больших массивов. NumPy позволяет выполнять арифметические операции и функции сразу над целым массивом.

Обрати внимание на пример. Без использования библиотеку циклу нужно 0.3 секунды для выполнения, а с помощью векторизации мы выполнили операцию за 0.005 секунд! Все дело в том, что NumPy выполняет вычисления на уровне C через оптимизированные библиотеки (например, BLAS или LAPACK).

#theory // Just Python
Антипаттерн недели: Ошибочное использование is для сравнения строк и чисел

В Python оператор is проверяет, являются ли две переменные одним и тем же объектом в памяти, а не просто равны ли их значения. Использование is вместо == для сравнения строк и чисел может привести к непредсказуемым результатам.

Используйте == для корректного сравнения значений.

#theory // Just Python
posix_spawn

posix_spawn() предоставляет высокопроизводительный способ создания новых процессов в Unix-подобных системах, являясь более эффективной альтернативой subprocess.Popen().

#theory // Just Python
sys.set_int_max_str_digits()

sys.set_int_max_str_digits() ограничивает количество цифр при преобразовании очень длинных строк в int. Это полезно для защиты от атак типа "Denial of Service" через огромные числа.

#theory // Just Python
sys.getandroidapilevel()

sys.getandroidapilevel() возвращает API-уровень Android, на котором запущен Python-процесс. Это эксклюзивная функция для Android-платформ, полезная для адаптации поведения скрипта под версию ОС.

#theory // Just Python
types.SimpleNamespace

types.SimpleNamespace — это удобный способ создать объект с доступом к атрибутам через точку без явного определения класса. Полезно для временных структур данных и подмены dict в более читаемой форме.

#theory // Just Python
contextlib.aclosing

contextlib.aclosing() — это контекстный менеджер для асинхронных объектов, у которых есть метод aclose(). Полезен при работе с асинхронными ресурсами, например, сетевыми соединениями или файлами.

#theory // Just Python
sys.set_coroutine_origin_tracking_depth()

sys.set_coroutine_origin_tracking_depth() включает отслеживание цепочек await, что помогает отлаживать асинхронный код. Это полезно при поиске причин неожиданных исключений в сложных async/await вызовах.

#theory // Just Python
🎥 Первый в мире полнометражный фильм, полностью созданный ИИ
по поэме Виктора Слипенчука — “Чингис-Хан”
🔗 Смотреть трейлер

🧠 Проект реализован в новом продюсерском центре ZEPHYR NEYRO — запуском занимается Кирилл Калашников, первый продюсер Литл Биг, ВладА4, Джарахова, Ивана Гая, Марьяны Ро и других топовых блогеров.

За 2 месяца команда из:

10 промпт-инженеров
2 ЛОР-специалистов
1 режиссёра
1 монтажёра
и стека из 5 нейросетей — собрала 1 час 1 минуту полноценного кино.


📅 Через 3 дня — релиз первой части.
Подписывайся, чтобы быть в числе первых, кто увидит, как ИИ ломает старую систему:
👉 Зефир Нейро
sys.getfilesystemencodeerrors()

sys.getfilesystemencodeerrors() возвращает стратегию обработки ошибок, используемую при кодировании/декодировании имён файлов в байты и обратно. Это полезно для совместимости с нестандартными или повреждёнными именами файлов.

#theory // Just Python
sys.get_asyncgen_hooks()

sys.get_asyncgen_hooks() возвращает текущие функции-хуки, которые вызываются при создании и финализации асинхронных генераторов. Это полезно для отслеживания или изменения поведения async def-генераторов в глубоко асинхронных приложениях.

#theory // Just Python
sys.getprofile()

sys.getprofile() возвращает текущую функцию-профайлер, установленную через sys.setprofile(). Это полезно для отладки, написания инструментов анализа выполнения и динамического переключения профилирования.

#theory // Just Python
types.DynamicClassAttribute

types.DynamicClassAttribute позволяет переопределять доступ к атрибутам на уровне класса, а не экземпляра. Это полезно, если поведение свойства должно отличаться при обращении через экземпляр и через сам класс.

#theory // Just Python
sys.getwindowsversion()

sys.getwindowsversion() возвращает подробную информацию о версии Windows, на которой запущен интерпретатор. Это полезно для адаптации поведения скриптов под особенности конкретной ОС — например, различия в путях, шрифтах, файловых системах.

#theory // Just Python
Как подсчитать количество каждого элемента в списке?

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

Этот приём позволяет подсчитать элементы буквально в одну строку: Counter(list1) возвращает словарь, где ключи — элементы, а значения — их количество.

Итог:
Подсчёт за одну строку.
Удобно для анализа данных.
Работает с любыми элементами списка!

#theory // Just Python