PyArmor — это мощный инструмент, разработанный для повышения безопасности ваших Python-приложений. Он позволяет защитить код от несанкционированного использования, декомпиляции и модификации, применяя шифрование и обфускацию.
1. Для установки PyArmor выполните команду:
pip install pyarmor
2. Чтобы зашифровать и обфусцировать ваш код, воспользуйтесь командой:
pyarmor gen my_script.py
После выполнения этой команды будет создан каталог
dist, содержащий защищённую версию вашего скрипта.PyArmor предоставляет широкий набор настроек, включая выбор алгоритма шифрования, использование лицензий для запуска и настройку ключей. Поэтому прежде, чем начать использовать, рекомендую изучить документацию.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
Не так давно, в телеграмме появился новый способ оплаты, с помощью внутренней валюты — stars
И в этом видео вы узнаете, как добавить в вашего телеграмм бота оплату этими звездами (старсами). Использовать будем язык программирования Python и библиотеку Aiogram. Далее загрузим бота на хостинг, чтобы он мог работать без остановки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2🥰1
Данный небольшой чек-лист, представляет собой базовые правила того, как стоит писать код, чтобы он выглядел чисто и читался легко.
Переменные, функции и классы должны описывать, что они делают. Например:
a = 10 # это плохо
user_age = 10 # а вот это уже хорошо
Функции должны быть короткими и выполнять одну задачу. Если функция разрастается, разбейте её на несколько.
Используйте стандарт стиля Python:
Используйте
docstring, чтобы объяснить, что делает функция.def calculate_area(width, height):
"""Вычисляет площадь прямоугольника."""
return width * height
Не пишите числа или строки напрямую в коде. Замените их на переменные с понятными именами.
if status == 1: # так не делаем
if status == ACTIVE: # тут норм
Если выражение сложное, разбейте его на несколько строк или переменных.
Тесты помогают обнаруживать ошибки и поддерживать качество кода. Используйте pytest.
Удаляйте неиспользуемые переменные, комментарии и устаревший код.
Если код сложен для понимания, не забудьте добавить комментарии. Только не стоит перебарщивать.
Используйте стандартные библиотеки и популярные open-source решения, чтобы не тратить время на то, что уже придумано.
Следуя этим простым правилам, вы улучшите свой код и сделаете его простым в освоении для других разработчиков.
Кому нужно, в архив добавил PDF версию данного чек-листа. Сохраняйте⬇️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤🔥4🍓2
x = "Python"
x = x[:3] + "3" + x[4:]
print(x)
Выберите вариант ответа ниже
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
😁12👏4
Гулял по этим вашим интернетам, и наткнулся на интересный ресурс — Awesome Python. Это прям энциклопедия всех годных библиотек, фреймворков и утилит для Python.
В общем, отличный ресурс для экономии времени и поиска готовых решений. Зацените по ссылке ниже:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥4❤1
Когда у вас есть список или кортеж, и нужно передать его элементы в функцию, можно сделать это гораздо элегантнее, распаковав данные в одну строку. Вместо того чтобы передавать каждый элемент по отдельности, можно использовать * для распаковки.
def greet(name, age):
print(f"Привет, {name}! Тебе уже {age} лет.")
data = ["Алекс", 25]
greet(*data)
Привет, Алекс! Тебе уже 25 лет.*data — распаковывает список или кортеж, передавая каждый элемент в соответствующий аргумент функции.Для словарей можно использовать
** для распаковки ключей и значений: **data. В данном случае **data распакует словарь и передаст его ключи как имена аргументов.Распаковка — это удобный и элегантный способ передавать данные в функции, особенно когда у вас есть коллекции или словари. Простой способ упростить код и повысить его читаемость.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤4🤩3
Нашёл отличное видео для тех, кто хочет стать Python-разработчиком. В нём подробно рассказывается, какие навыки нужны, какие проекты используют Python и что нужно знать на старте.
Есть объяснение важности ООП, Git и выбора специализации. Автор также поможет разобраться, что должно быть в резюме junior-разработчика и почему важно развивать soft skills для успешной карьеры
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Сегодня мы создадим простое приложение на Python, которое подключается к API CoinGecko и выводит текущую цену выбранной криптовалюты. Всё это с помощью библиотеки Typer, которая делает разработку командных приложений лёгкой и быстрой.
pip install requests typer
Мы будем использовать бесплатное API от CoinGecko. Оно не требует регистрации и API-ключа, что делает его очень удобным для быстрого старта.
Теперь создадим файл
crypto_checker.py и напишем код, который будет получать и выводить актуальную цену криптовалюты:import requests
import typer
app = typer.Typer()
API_URL = "https://api.coingecko.com/api/v3/simple/price"
@app.command()
def get_crypto_price(crypto: str, currency: str = "usd"):
"""Получаем текущую цену криптовалюты в указанной валюте"""
try:
response = requests.get(
f"{API_URL}?ids={crypto}&vs_currencies={currency}")
data = response.json()
price = data[crypto][currency]
return price
except KeyError:
raise ValueError(f"Не удалось получить цену для криптовалюты:{crypto}")
@app.command()
def check_price(crypto: str, currency: str = "usd"):
"""Выводит текущую цену криптовалюты в указанной валюте"""
try:
price = get_crypto_price(crypto, currency)
typer.echo(f"Текущая цена {crypto.upper()} в {
currency.upper()}: {price:.2f}")
except ValueError as e:
typer.echo(f"Ошибка: {e}")
if __name__ == "__main__":
app()
Запускаем скрипт с нужными параметрами для проверки цены криптовалюты:
python crypto_checker.py check-price bitcoin --currency rub
Результат:
Текущая цена BITCOIN в RUB: 10197106.00Как это все выглядит в терминале, вы можете посмотреть на второй картинке поста.
Библиотека Typer отлично подходит для разработчиков, которым нужно создать удобные CLI для своих приложений с минимальной настройкой и высокой читаемостью кода.
Оставляйте реакции, если понравился пост. А также, пишите в комментарии, что бы вы хотели увидеть еще в таком формате.👨💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤6🔥3
Pympler — это инструмент для анализа использования памяти в Python. Он помогает выявить избыточное потребление памяти, утечки и другие проблемы. С помощью этой библиотеки можно отслеживать размер и продолжительность процессов вашего приложения во время его работы.
from pympler import tracker
tr = tracker.SummaryTracker()
function_without_side_effects()
tr.print_diff()
types | # objects | total size
======= | =========== | ============
dict | 1 | 280 B
list | 1 | 192 B
$ pip install pympler
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤3🔥3
Области видимости — это не только про
global и nonlocal, но и про то, как Python обрабатывает вложенные функции, исключения, классы и многое другое. В этом уроке, разберём всё на понятных примерах и полезных схемах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4🔥2
def func(nums):
nums = nums + [4, 5]
nums[0] = 99
return nums
x = [1, 2, 3]
y = func(x)
print(x, y)
Выберите вариант ответа ниже
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16😁1
Ответ:
Anonymous Quiz
46%
[1, 2, 3] [99, 2, 3, 4, 5]
23%
[99, 2, 3] [99, 2, 3, 4, 5]
12%
[1, 2, 3] [1, 2, 3, 4, 5]
19%
Ошибка
👍6❤1
1. Awesome Python
Мастхэв подборка лучших библиотек и инструментов для Python. Категории: веб-разработка, парсинг, машинное обучение и многое другое.
2. Real Python
Материалы от Real Python с примерами кода для изучения языка. Отлично подойдёт для новичков.
3. Python Patterns
Шаблоны проектирования для Python. Помогает понять, как писать код, который легко поддерживать.
4. TheAlgorithms/Python
Библиотека алгоритмов с реализациями на Python. Отлично подходит для изучения структур данных и алгоритмов.
5. FullStack Python
Гид по созданию полного стека приложений с использованием Python: от баз данных до фронтенда.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤2🔥2
Когда нужно работать с несколькими списками одновременно,
zip() помогает объединить их элементы в пары и работать с ними в одном цикле. Это упрощает код, делает его более читаемым и сокращает количество ошибок, особенно когда списки взаимосвязаны. names = ['Том', 'Артур', 'Чарли']
scores = [95, 82, 88]
for name, score in zip(names, scores):
print(f"{name} набрал {score} балов")
Том набрал 95 балов
Артур набрал 82 балов
Чарли набрал 88 балов
Подходит для любых итерируемых объектов: списков, кортежей, строк, словарей.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥3
Она включает всё, что нужно: от основ до продвинутых тем, с примерами кода и практическими советами.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
any() и all() — это две встроенные функции, которые помогают быстро проверять списки (или другие коллекции) на соответствие условиям.any() используется, если нужно узнать, есть ли в коллекции хоть один элемент, удовлетворяющий условию. Например:nums = [0, 0, 1]
if any(nums):
print("Есть ненулевые элементы!") # True, потому что 1 ненулевой
Это полезно при проверке, нужно ли выполнять действие.
all() помогает проверить, выполняются ли условия для всех элементов. Например:nums = [2, 4, 6]
if all(n % 2 == 0 for n in nums):
print("Все числа чётные")
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥2
Можно сколько угодно упираться в сухую теорию, но без применения своих знаний на практике, научиться программировать невозможно.
В этом ролике рассмотрите несколько проектов для начинающих python-разработчиков. Эти проекты помогут вам закрепить теорию, применить полученные знания на практике и набить руку в написании кода. Некоторые из них даже можно добавить в будущее портфолио.
Для тех, у кого проблемы с ютубом, загружу видео в комменты🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11