Python Nation🐍🇺🇦
2.76K subscribers
237 photos
2 files
158 links
Канал для всіх, хто вивчає Python: поради, приклади коду, бібліотеки, лайфхаки та актуальні новин👨‍💻🐍

По всім питанням👉 @giorg_jr

❗️Канал регулярно очищується від неактивних підписників❗️
Download Telegram
Выражения генераторы

Интересное расширение Python, обобщающее list comprehension, — выражения-генераторы.
Они работают совершенно аналогично list comprehension, только без создания в памяти собственно списка. Числа создаются по ходу дела, без сохранения их явным образом в списке.

Например, вместо вычисления квадратов первых 20 натуральных чисел с помощью list comprehension:

sum([x*x for x in range(20)])

можно воспользоваться выражением-генератором:

sum(x*x for x in range(20))

Использование данного способа ускоряет выполнение программы.
Мало кто заметил новый оператор в Python3.8

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

Также рассмотрим частые ошибки, которые допускают при использовании walrus operator.

👉Дока по данному оператору

Python Nation🐍
Метод bin()

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

В данном примере мы отправили объект класса Quantity в bin() метод. bin() метод не вызывает ошибку, даже если объект Quantity не является целым числом.

Это потому, что мы реализовали __index__() метод, который возвращает целое число (сумма количества фруктов). Затем это целое число передается bin() методу.

#встроенные_функции #bin @pythonnation
Привет👋 На канале давно не было активности😢 Давайте посмотрим сколько нас и откуда мы🚀
Anonymous Poll
17%
Україна
59%
Россия
5%
Беларусь
5%
Казахстан
15%
Другая страна(напиши в комментариях)
🔍 Інтроспекція в Python: як програмі бачити себе зсередини

Інтроспекція — це здатність програми досліджувати свою структуру під час виконання. У Python це зручно реалізовано через вбудовані функції.

Ось декілька корисних прикладів:

type(obj) — визначає тип об’єкта.
dir(obj) — показує доступні атрибути та методи.
getattr(obj, attr) — отримує значення атрибута.
isinstance(obj, class) — перевіряє, чи об'єкт є екземпляром класу.
help(obj) — виводить документацію об'єкта.

Це корисно для:
🔹дебагінгу та аналізу об'єктів
🔹динамічного створення функцій чи класів
🔹розробки IDE, автозаповнення або генерації документації

Пам’ятайте, що надмірне використання інтроспекції може ускладнити код. Використовуйте її з розумом! 🐍