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

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

Канал на бирже : https://telega.in/c/PythonTechCode
Download Telegram
🔑 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 – подписывайся
👍4
🫥 Эволюция подхода к проверке на нечётность

 Мы в Max – подписывайся
😁1
🔸Автоперевод текста из буфера обмена

Скопировали текст — Python сразу перевел его. Для этого достаточно отслеживать буфер обмена через pyperclip и отправлять текст в переводчик с помощью googletrans.

import pyperclip

from googletrans import Translator

translator = Translator()

text = pyperclip.paste()

print(translator.translate(text, dest="ru").text)


💡 Полезно, если часто работаете с сообщениями, документацией или статьями на иностранных языках.

 Мы в Max – подписывайся
👍1
👁️‍🗨️ Настройка окружения

 Мы в Max – подписывайся
😁2
🔴 Вредоносный Python-код может выглядеть как обычный скрипт и оставаться незамеченным до запуска

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

Он использует статический анализ на основе правил и ML-модель, а также проверяет зависимости на признаки атак цепочки поставок.

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


💻 GitHub

🔻 Поддерживается анализ скриптов из сети и новых пакетов PyPI.

 Мы в Max – подписывайся
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
👀 Наглядно показываем принцип работы и область применения восьми самых популярных сетевых протоколов

 Мы в Max – подписывайся
🔥3
🌐 Преобразуем сложный код в простые цепочки

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

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

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


💡Используйте оператор «|» для объединения функций в цепочку.

 Мы в Max – подписывайся
👍4
⭐️ Разница между списком и кортежем в Python

▪️ Список — изменяемый (можно менять элементы), записывается в [ ]

▪️ Кортеж — неизменяемый (нельзя изменить), записывается в ( )

▫️ Преобразование списка в кортеж:
list1 = [1, 2, 3]  
print(tuple(list1)) # Вывод: (1, 2, 3)


▫️Кортеж из одного элемента:
list1 = [1]  
print(tuple(list1)) # Вывод: (1,)


⚠️ Важно: Кортеж определяется запятой, а не скобками!

 Мы в Max – подписывайся
🔥1
🔹Нелегка работа брата

 Мы в Max – подписывайся
😁3
⌨️ Большая подборка тестовых заданий для IT

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

Особенно здорово раздел по Python — можно и к собесу подготовиться, и просто порешать для себя.

🌐 Ссылка

Всё на русском, много практики.

 Мы в Max – подписывайся
🔥2
🌟Есть вариант получше стандартного JSON в Python

Simplejson — это более надежная и быстрая библиотека для работы с JSON. Она лучше обрабатывает ошибки и предлагает расширенные возможности.

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


Simplejson особенно полезен когда нужно работать с "особыми" числами (NaN, Infinity) — он их корректно обрабатывает, а стандартный json выдает ошибку.

Документация

 Мы в Max – подписывайся
👍3
🔸Различные стили архитектуры API

 Мы в Max – подписывайся
🔥2
💬 Чат в терминале на Python

С помощью socket можно быстро собрать простой чат между двумя компьютерами в одной локальной сети.
Один запускает сервер, второй подключается как клиент.


Сообщения передаются напрямую через TCP — интернет не нужен.

import socket

server = socket.socket()
server.bind(("0.0.0.0", 9999))
server.listen(1)

conn, addr = server.accept()
print(f"Подключение: {addr}")

while True:
msg = conn.recv(1024).decode()
print(f"Друг: {msg}")
conn.send(input("Вы: ").encode())


💡 Это учебный пример: соединение не шифруется.

 Мы в Max – подписывайся
2👍2
👩‍💻 Узнаем кодировку текста

Библиотека chardet является инструментом для работы с текстовыми данными в Python.

🔵Она анализирует текст и определяет его кодировку с указанием уровня достоверности.

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


🔜 Использование chardet помогает избежать ошибок, связанных с кодировками, и обеспечивает правильную обработку текстов.

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