📖 Алгоритмы на практике
⬇️ Cкачать книгу
👉 Python Ready | #книга
Руководство по эффективному применению алгоритмов для решения реальных задач, с акцентом на практические примеры и оптимизацию кода.
Год: 2023
Автор: Зингаро Даниэль
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍6🤝3
Когда речь заходит о копировании объектов в Python, важно понимать разницу между shallow и deep copy.
Shallow copy создает только поверхностную копию, что означает, что вложенные объекты остаются связанными с оригиналом, тогда как deep copy создает независимую копию всего объекта, включая вложенные структуры.
🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27🤝13👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Rio — это простой в использовании фреймворк для создания веб-сайтов и приложений, полностью основанный на Python. Вам не понадобится ни строчки HTML, CSS или JavaScript, чтобы создать красивые и современные приложения.
⛓ Ссылочка: https://rio.dev/
👉 Python Ready | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍10
Эта шпаргалка содержит основные методы работы со словарями в Python, которые упрощают манипуляции с данными, позволяя легко добавлять, изменять и извлекать значения по ключам.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍45🔥27🤝9
Сегодня мы рассмотрим использование assert и чего нужно предостерегаться. По сути данная инструкция представляет из себя что-то типа средства отладки, которое проверяет условие, если условие истинно, то программа работает дальше, если ложно, то вызывается исключение AssertionError с необязательным исключением
Простой пример использования assert:
def apply_discount(product, discount):
price = int(product['цена'] * (1.0 — discount))
assert 0 <= price <= product['цена']
return price
Здесь инструкция нам гарантирует, что новая цена не будет отрицательной и не будет выше прежней, можем в этом убедиться:
shoes = {'name': 'Snicker', 'price': 14900}
apply_discount(shoes, 0.25)
11175
Если мы применим 200% скидку, то сработает исключение:
apply_discount(shoes, 2.0)
Traceback (most recent call last):
File "<input>", line 1, in <module>
apply_discount(prod, 2.0)
File "<input>", line 4, in apply_discount
assert 0 <= price <= product['price']
AssertionError
Ловушка проверки валидности:
Так почему нам просто не проверять все инструкцией assert и забить болт на другие методы проверки?
Давайте рассмотрим следующий пример:
def delete_product(prod_id, user):
assert user.is_admin(), 'здесь должен быть админ'
assert store.has_product(prod_id), 'неизвестный товар'
store.get_product(prod_id).delete()
С первого взгляда все понятно, assert проверяет истинность условий и в случае ложного результата вызывает исключение, НО, утверждения в Python могут быть глобально отключены, это значит, что наши инструкции будут превращены в нулевые операции
Нулевая операция (null-operation) - операция, которая не возвращает данных и оставляет состояние программы без изменений.
К чему может привести обнуление операций? Как написано выше, инструкция просто не вернет вам ответ, за счет чего интерпретатор просто пройдет "мимо" вашей инструкции и в данном случае любой пользователь получит права админа
Жми 🔥 если понравился пост
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥38👍4👎2
This media is not supported in your browser
VIEW IN TELEGRAM
Cursor AI — нейросеть для разработки, представляющая собой интеллектуальный редактор кода, который помогает за счет подсказок, автоматизации и интеграции с расширениями VS Code.
📌 Ссылочка: https://www.cursor.com/
👉 Python Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥10
Контекстные менеджеры являются хорошим инструментом для управления файлами, сетевыми соединениями и другими объектами, мы разберем простейшие способы их использования.
1. Стандартный пример с with: позволяет безопасно открыть и закрыть файл, даже если в блоке возникнет ошибка:
with open('file.txt', 'r') as file:
data = file.read()
2. Создание своего контекстного менеджера: определив enter и exit методы. Это полезно, например, для измерения времени выполнения:
class Timer:
def __enter__(self):
self.start = time.time()
def __exit__(self, exc_type, exc_value, traceback):
print(f"Время выполнения: {time.time() - self.start:.4f} сек")
3. Использование contextmanager: модуль contextlib позволяет создавать контекстные менеджеры проще, например, для работы с файлами:
@contextmanager
def open_file(path, mode):
file = open(path, mode)
try:
yield file
finally:
file.close()
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥7
📖 Python для сложных задач
⬇️ Скачать книгу
👉 Python Ready | #книга
Подробное руководство по самым разным вычислительным и статистическим методам, без которых немыслима любая интенсивная обработка данных, научные исследования и передовые разработки
Автор: Дж. Вандер Плас
Год: 2018
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4
В этой статье:
• Вы познакомитесь с библиотекой Pymem, которая управляет памятью Windows а так же узнаете, как с её помощью взломать игру.
🔊 Если понравилось, можешь продолжить читать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥6
Мы рассмотрели основные способы работы с JSON, что позволяет эффективно взаимодействовать с данными:
• Загрузка JSON из файла
• Преобразование объекта Python в JSON
• Запись JSON в файл
Эти методы важны для работы с внешними API и обмена данными.
🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥37👍29🤝16
В этой шпаргалке собраны все самые важные методы для работы со списками, которые помогут вам управлять данными списков без проблем.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33🤝20🔥19