Pro Python • IT
4.13K subscribers
1.4K photos
145 videos
42 files
1.36K links
Pro Python — авторский канал с полезными советами, материалами и новостями по Python-программированию.

Сотрудничество (реклама): @NotPriceMedia

Канал на бирже : https://telega.in/c/PythonTechCode
Download Telegram
👍 Топ-3 функции высокого порядка в Python

 Мы в Max – подписывайся
🔥1
❗️Обнаружение уязвимостей с помощью Audit

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

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

Если появляются новые зацепки, Audit продолжает проверку и формирует структурированный отчет.


🔗 GitHub

Поддерживается интеграция с Claude Pro.

 Мы в Max – подписывайся
1
🌟 Как легко конвертировать изображения в PDF

img2pdf - это библиотека Python, предназначенная для конвертации изображений в формат PDF.

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

Установка библиотеки:
pip install img2pdf


🔵 Этот пример показывает основное использование img2pdf для создания PDF-файла из нескольких изображений.

 Мы в Max – подписывайся
👍1
👈 Правильный способ объединять строки в Python

Метод join() объединяет элементы последовательности в одну строку.

Что важно знать:
join() — это метод строки, поэтому он вызывается у строки-разделителя.

Разделителем может быть любая строка.

При объединении элементов указанный разделитель вставляется между ними.


Именно поэтому запись ", ".join(items) означает: объединить элементы items, используя строку ", " в качестве разделителя.

 Мы в Max – подписывайся
🔥2
🔰 Проверка палиндромов на Python

Эта программа на Python проверяет, является ли заданное слово или фраза палиндромом (читается одинаково как слева направо, так и справа налево).

def is_palindrome(text):
# Удаляем все непробельные символы и переводим текст в нижний регистр
clean_text = ''.join(char.lower() for char in text if char.isalnum())
# Сравниваем очищенный текст с его реверсированной версией
return clean_text == clean_text[::-1]

# Пример строки для проверки
text = "А роза упала на лапу Азора"
print("Является палиндромом:", is_palindrome(text))


Пример вывода:
Является палиндромом: True

🟡Теперь вы можете использовать эту программу для проверки любых слов или фраз на палиндромность.

 Мы в Max – подписывайся
👍1
Star patterns с использованием вложенных циклов

Представленные примеры демонстрируют, как с помощью простых вложенных циклов и базовых операторов печати в Python можно создавать разнообразные звездчатые узоры — от треугольников до пирамид.


 Мы в Max – подписывайся
2
®️ Схема работы с Git (системой контроля версий), которая визуализирует взаимодействие между локальным репозиторием и удаленным хранилищем.

 Мы в Max – подписывайся
1
Теперь знаем 🙂

 Мы в Max – подписывайся
👀3
🔥 SQL-запросы с различными типами соединений (JOIN)

🔘INNER JOIN: Возвращает только те записи, которые имеют соответствующие значения в обеих таблицах.
Например, если есть совпадения по ключу, эти строки будут включены в результат.


🟣LEFT JOIN (LEFT OUTER JOIN): Возвращает все записи из левой таблицы (TABLE_A) и соответствующие записи из правой таблицы (TABLE_B).
Если совпадений нет, будут возвращены NULL значения для столбцов из правой таблицы.


🟡RIGHT JOIN (RIGHT OUTER JOIN): Противоположен LEFT JOIN. Возвращает все записи из правой таблицы (TABLE_B) и соответствующие записи из левой таблицы (TABLE_A).
Если совпадений нет, будут возвращены NULL значения для столбцов из левой таблицы.


🔴FULL OUTER JOIN: Возвращает записи, когда есть совпадения в одной из таблиц.
Это означает, что будут возвращены все записи из обеих таблиц с NULL значениями, когда нет совпадений.


 Мы в Max – подписывайся
3
🖥 Встроенные функции Python

 Мы в Max – подписывайся
👍2
Python programs to print.pdf
222.4 KB
Паттерны для создания визуальных форм в Python

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


 Мы в Max – подписывайся
👍1👀1
👆 Шпаргалка по основам SQL

 Мы в Max – подписывайся
2
🔑 Keyring – безопасное хранение паролей

Библиотека для работы с системным хранилищем учетных данных (Keychain, KWallet, Secret Service). Позволяет безопасно хранить и получать пароли, используя механизмы защиты ОС.

🛑Главная задача:
Устраняет необходимость хранения паролей в конфигах или коде, используя защищенные системные хранилища.

Установка библиотеки:
pip install keyring


Пример использования:
import keyring
# Сохранение
keyring.set_password("my_app", "username", "secret123")
# Получение
password = keyring.get_password("my_app", "username")


💻 GitHub

ℹ️ Ключевое преимущество:
Кроссплатформенная работа с нативными хранилищами (Windows Credential Locker, macOS Keychain, Linux Secret Service) без привязки к конкретной ОС.

 Мы в Max – подписывайся
👍1
🚩 При вызове скрипта Python можно указать различные параметры/флаги для большей гибкости

9 наиболее часто используемых вариантов:

🔸 python -c: Выполнение одной команды Python.
🔸 python -i: Запустить скрипт как обычно и войти в интерактивный режим вместо выхода.
🔸 python -O: Игнорировать утверждения (это буква «O»).
🔸 python -OO: Игнорировать утверждения и отбрасывать строки документации.
🔸 python -W: Игнорировать все предупреждения.
🔸 python -m: Запуск модуля как скрипта.
🔸 python -v: Войти в подробный режим.
🔸 python -x: Пропустить первую строку.
🔸 python -E: Игнорировать все переменные среды Python.

 Мы в Max – подписывайся
1👍1
🔥 Простое объяснение методов APPEND и MERGE

🔵APPEND: Используется для добавления строк из одной таблицы в другую, требует идентичных столбцов.


🔵MERGE: Используется для объединения таблиц по общему ключу, поддерживает различные типы соединений.


 Мы в Max – подписывайся
🔥1
🔸Как быстро работает ваш Python-код?

Для оценки производительности не стоит использовать time.time(). На результат могут влиять фоновые процессы и нагрузка на систему.

Используйте timeit — стандартный модуль Python для точного измерения времени выполнения небольших фрагментов кода.

Например:
from timeit import timeit

print(timeit("sum(range(1000))", number=10000))


💡Если сравниваете несколько решений, ориентируйтесь на минимальное время выполнения — именно его рекомендует использовать официальная документация timeit.

 Мы в Max – подписывайся
🔥3
🔴 Не используйте random для паролей и токенов

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

Самые полезные функции:
• secrets.choice() — случайный элемент из последовательности.
• secrets.randbelow() — случайное число в заданном диапазоне.
• secrets.token_hex(), token_bytes() и token_urlsafe() — генерация безопасных токенов в разных форматах.
• secrets.compare_digest() — безопасное сравнение строк без риска атак по времени выполнения.

Например:
import secrets
token = secrets.token_urlsafe(32)
print(token)


💡 В отличие от random, он использует криптографически стойкий генератор случайных чисел, поэтому его результаты значительно сложнее предсказать.

 Мы в Max – подписывайся
👍4
📣 Ошибки новичка стоят дорого

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


 Мы в Max – подписывайся
2
🔹Кто подключился к вашему Wi-Fi?

Python позволяет быстро посмотреть устройства, которые есть в вашей локальной сети.

Для этого достаточно выполнить команду arp -a через модуль subprocess и вывести записи из ARP-кэша.

import subprocess
print(subprocess.check_output("arp -a", shell=True).decode())


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

 Мы в Max – подписывайся
👍3