Python Ready | Программирование
22.9K subscribers
772 photos
53 videos
393 links
Авторский канал по разработке на Python.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

РКН: https://clck.ru/3NJEEh

Реклама на бирже: https://telega.in/c/python_ready
加入频道
👩‍💻 Методы списков в Python

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

👉 Python Ready | #шпора
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 остается неизменным. Это позволяет избежать случайных ошибок в сложных проектах, где важно контролировать состояние данных.

А как вы считаете, насколько важно следить за ссылками при передаче данных?

👉 Python Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥12🤝3
📖 Python с нуля

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

Автор: Петр Левашов
Год: 2024


⬇️ Скачать книгу

👉 Python Ready | #книга
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


👉 Python Ready | #техсобес
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13🤝6👍4
🖥 Последовательности с itertools

Рассмотрим несколько простых функций для работы с itertools, данный модуль помогает эффективно генерировать и обрабатывать различные данные:

- Генерация последовательности
- Зацикленный вывод элементов
- Генерация перестановок


🔥 — если узнал новое
🤝 — если уже пользовался


👉 Python Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥52🤝11👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Codecademy — одна из лучших платформ, на ней предоставлен материал как для начинающего уровня, так и для продвинутых, на сайте есть много разных разделов с информацией

📌 Ссылочка: codecademy.com

👉 Python Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍5
🖥 Повышаем эффективность вашего кода

1. Использование списковых включений — Они позволяют компактно создавать списки, упрощая чтение и сокращая код:
squares = [x * x for x in range(10)]
print(squares) # вывод: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]


2. Сравнение строк с помощью `in` — Оператор in позволяет проверять наличие подстроки в строке просто и эффективно:
sentence = "Python is great"
print("great" in sentence) # вывод: True


3. Использование `defaultdict` для создания словарей с значениями по умолчаниюdefaultdict из модуля collections позволяет избежать ошибок при обращении к несуществующим ключам:
from collections import defaultdict
word_count = defaultdict(int)
word_count['hello'] += 1
print(word_count['hello']) # вывод: 1


👉 Python Ready | #техсобес
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🔥11🤝3
📖 Python без проблем

Подробное руководство для начинающих в программировании людей, научит вас самым основам, а также алгоритмам и структурам данных

Автор: Даниэль Зингаро
Год: 2023


⬇️ Скачать книгу

👉 Python Ready | #книга
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍4
🖥 Работа с toolz

Давайте рассмотрим несколько базовых методов toolz, которые позволяют производить операции над данными достаточно эффективно и удобно:

- Разделение данных
- Объединение словарей
- Создание композиций функций


🔥 — если узнал новое
🤝 — если уже пользовался


👉 Python Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥44👍8🤝3
🖥 Контекстные менеджеры и with

Когда дело доходит до управления ресурсами, такими как файлы или сетевые соединения, Python предоставляет один из самых удобных инструментов — контекстные менеджеры и конструкция with. Часто разработчики начинают с ручного закрытия ресурсов, что может привести к потенциальным утечкам


В стандартной ситуации, если нам требуется открыть файл, то код может выглядеть так:
file = open('example.txt', 'r')
content = file.read()
file.close()


Здесь, если в процессе чтения произойдет ошибка, файл может остаться открытым, что приводит к утечкам ресурсов. Конструкция with решает эту проблему:
with open('example.txt', 'r') as file:
content = file.read()
# Файл автоматически закрывается здесь


Как создать свой контекстный менеджер?
Вы можете реализовать собственный контекстный менеджер с помощью метода __enter__() и __exit__():
class MyManager:
def __enter__(self):
print("Ресурс открыт")
return self
def __exit__(self, exc_type, exc_value, traceback):
print("Ресурс закрыт")
with MyManager() as manager:
print("Работаем с ресурсом")


При использовании with метод enter вызывается в начале блока, а exit — при выходе из него, даже если произошла ошибка

Жми 🔥 если понравился пост

👉 Python Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32👍6🤝1