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
This media is not supported in your browser
VIEW IN TELEGRAM
Stepik — это обучающая платформа, которая предоставляет онлайн-курсы и интерактивные задания по программированию
📌 Ссылочка: stepik.org
👉 Python Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28👍4
Работа со ссылками на изменяемые объекты в Python может быть настоящей ловушкой. Например, если передать изменяемый объект в функцию, любые изменения внутри функции повлияют на оригинал — даже если вы этого не планировали.
Рассмотрим на примере передачи списка:
def add_element(data, element):
data.append(element)
my_list = [1, 2, 3]
add_element(my_list, 4)
print(my_list) # Вывод: [1, 2, 3, 4]
Хотя функция
add_element
не возвращает результат, изменения отражаются в my_list
. Это происходит потому, что список передается по ссылке.Чтобы избежать нежелательных изменений, можно создать копию объекта:
def add_element(data, element):
data = data.copy()
data.append(element)
my_list = [1, 2, 3]
add_element(my_list, 4)
print(my_list) # Вывод: [1, 2, 3]
Теперь
my_list
остается неизменным. Это позволяет избежать случайных ошибок в сложных проектах, где важно контролировать состояние данных.А как вы считаете, насколько важно следить за ссылками при передаче данных?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥12🤝3
📖 Python с нуля
⬇️ Скачать книгу
👉 Python Ready | #книга
Подробное руководство для начала в разработке на pytho, вы начнете с самых азов, как настроить среду разработки и дойдете до разработки собственного приложения
Автор: Петр Левашов
Год: 2024
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14🤝5
1. Использование collections.deque для очередей:
deque
позволяет эффективно работать с очередями и списками с обоих концов за время O(1):from collections import deque
queue = deque([1, 2, 3])
queue.append(4) # добавление в конец
queue.popleft() # удаление с начала
print(queue) # вывод: deque([2, 3, 4])
2. Использование генераторов для экономии памяти: Генераторы позволяют создавать последовательности данных без необходимости хранить их все в памяти:
def generate_numbers():
for i in range(5):
yield i
for num in generate_numbers():
print(num) # вывод: 0 1 2 3 4
3. Использование set для уникальных элементов и быстрого поиска: Операции поиска и удаления в множестве (
set
) выполняются за время O(1), что быстрее, чем в списке:unique_numbers = set([1, 2, 3, 4, 5])
print(3 in unique_numbers) # вывод: True
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13🤝6👍4
Рассмотрим несколько простых функций для работы с itertools, данный модуль помогает эффективно генерировать и обрабатывать различные данные:
- Генерация последовательности
- Зацикленный вывод элементов
- Генерация перестановок
🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥52🤝11👍7