🐍 Укус питона 🐍
2.6K subscribers
979 photos
18 videos
284 links
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки.

👽 Админ - @it_dashka
🔊 Купить рекламу: https://telega.in/c/byteofpython

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Генераторные фунции (generator functions)

Если предикатов фильтрации или обработчиков элементов списка много, то удобнее использовать генераторы. Они могут не дать прироста скорости, но помогут сэкономить память.

Генераторной фунцией в python называется функция, которая ведет себя как итератор. Для определения генераторной функции нужно использовать ключевое слово yield.

🐍 Укус питона // 💬 Чат // #теория #if #конструкции
Как начать отладку при утечке памяти в рабочем приложении

Для отладки утечек памяти в Python можно использовать инструменты, такие как Memory Profiler или objgraph.

Запустите вашу программу с помощью команды python -m memory_profiler my_script.py. Будет выведен подробный отчет о том, сколько памяти используется в каждой строке программы, а также общее использование памяти и любые утечки.

Этот код создаст изображение my_list.png, на котором будут показаны все объекты, на которые ссылается my_list, а также все объекты, которые ссылается на них. Это может помочь вам понять, какие объекты держат ссылки на ваши объекты и могут вызывать утечки памяти.

🐍 Укус питона // 💬 Чат // #теория #if #конструкции
Что выведет этот код?
Anonymous Quiz
33%
True
36%
False
26%
Ошибку
6%
Узнать ответ
Что может быть ключом в словаре

В Python ключом в словаре может быть любой неизменяемый объект, такой как число, строка или кортеж.

В этом примере ключами словаря являются число 1, строка ‘two’ и кортеж (3, 4). Однако, если вы попытаетесь использовать изменяемый объект, такой как список, как ключ словаря, вы получите TypeError.

🐍 Укус питона // 💬 Чат // #теория #if #конструкции
Что выведет код?
Anonymous Quiz
21%
0
24%
1
9%
2
8%
3
38%
Ошибка
Что выведет код?
Anonymous Quiz
12%
1
19%
2
22%
4
47%
Ошибка
Библиотека igraph предназначена для работы с графами и сетями, обеспечивая возможность строить, анализировать и визуализировать их.

Igraph широко применяется в анализе социальных сетей, изучении структуры крупных сетей (например, веб-ссылок), в биоинформатике для исследования взаимодействий белков и других задач, связанных с теорией графов.

Основные функции igraph включают в себя генерацию случайных и классических графов, вычисление различных метрик (например, степень вершин, диаметр графа), а также поиск сообществ и кластеров.

🐍 Укус питона // 💬 Чат // #теория #if #конструкции
В данной статье мы рассмотрим использование Python для майнинга криптовалют и создания NFT (Non-Fungible Tokens).

Мы не будем обсуждать финансовые аспекты, но сосредоточимся исключительно на программировании.

Автор этой статьи использует робота для автоматизации процесса добычи криптовалют в игре RPG, используя Python и библиотеку PyAutoGUI.

🐍 Укус питона // 💬 Чат // #теория #if #конструкции
🖥 Шпаргалка по Python, в которой собраны небольшие скрипты для решения повседневных задач

Вот, кстати, некоторые из них:

— добавить файл sample.txt к архиву .tar.gz:
import tarfile
with tarfile.open('sample.tar.gz', 'w:gz') as tar:
tar.add('sample.txt')


— понятный вывод различий между строками
import difflib
diff = difflib.ndiff('one\ntwo\nthree\n'.splitlines(keepends=True),
'ore\ntree\nemu\n'.splitlines(keepends=True))
print(''.join(diff))
Что выведет код?
Anonymous Quiz
4%
12
43%
64
50%
512
3%
узнать ответ
⬆️В примере выше первая и вторая строки похожи, но отличаются видами скобок. В списковом включении они используют квадратные скобки, а в генераторном выражении – круглые.

➡️Из вывода переменных видно, что l содержит список, а g – генератор. Таким образом, возникает вопрос, что использовать в данной ситуации.

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

➡️А если значения могут потребоваться не скоро, или даже не факт, что они будут нужны, то более предпочтительно использовать генераторы, чтобы не занимать лишнюю память и не перегружать систему.