Программирование на Python | itpy 💻
511 subscribers
5 photos
2 videos
30 links
Азим вкатывается в IT – это блог, в котором я рассказываю о Python и айти не только в рамках подготовки к ЕГЭ, но и за ее пределами.

Автор канала: @ilandroxxy
Канал по подготовке к ЕГЭ: t.me/informatika_kege_itpy

💬 Ссылка на чат: t.me/analyst_chat_itpy
Download Telegram
📎Объединение итерируемых объектов с помощью itertools.chain #tpy

Когда у тебя есть несколько списков, кортежей или других итерируемых объектов, и нужно пройти по ним, будто это один большой список — itertools.chain делает это просто и эффективно, без создания дополнительных промежуточных структур.

↗️ Почему это круто?
itertools.chain позволяет объединять итерируемые объекты "на лету", экономя память и ускоряя обработку больших наборов данных. Особенно полезно, когда работаешь с объемными файлами или потоками данных.


Пример использования:
import itertools

list1 = [1, 2, 3]
list2 = ('a', 'b', 'c')
list3 = range(10, 13)

# Объединяем без создания новых списков
for item in itertools.chain(list1, list2, list3):
print(item, end=' ')


🪄Вывод:
1 2 3 a b c 10 11 12


Теперь ты можешь обходить все эти коллекции как один поток, не тратя лишнюю память 🚀

#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥2🔥1
📎Что такое enumerate() в Python и почему это удобно? #tpy

🪄 Функция enumerate() в Python - позволяет одновременно проходить по итерируемому объекту и получать индекс каждого элемента - очень удобно и читаемо.

↗️ Почему это полезно?
- Не нужно самостоятельно создавать счетчик
- Упрощает код при необходимости знать позицию элемента
- Особенно полезна при обработке списков, кортежей, строк и других итерируемых структур

Пример использования:

fruits = ['яблоко', 'банан', 'киви']

for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")


Вывод:
0: яблоко
1: банан
2: киви


Теперь мы можем работать с циклами ещё удобнее! 🚀

#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥2👍1🔥1
📱 Что такое замыкание в Python? #useful

🧠 Объявление: функция внутри функции, которая запоминает переменные из внешней области


Пример: создание счетчика
def create_counter():
count = 0 # Внутреннее состояние
def counter():
nonlocal count
count += 1
print("Текущий счет:", count)
return counter


💻 Использование созданного счетчика
my_counter = create_counter()
my_counter() # Текущий счет: 1
my_counter() # Текущий счет: 2



Что происходит?
Каждый вызов my_counter() увеличивает внутренний счетчик, который "запомнен" внутри функции. Это и есть замыкание!


🔍 Зачем это нужно?
- Хранить состояние между вызовами
- Создавать "приватные" переменные
- Сделать код более модульным и безопасным


#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
👩‍💻 Генераторы списков в Python #tpy

Это обычный способ создания списков через цикл for, но более лаконичный и читаемый.

🟣Обычный способ:
res = []
for i in range(10):
if i % 2 == 0:
res.append(i ** 2)
print(res) # [0, 4, 16, 36, 64]


🟣Через генератором списков:
res = [i ** 2 for i in range(10) if i % 2 == 0]
print(res) # [0, 4, 16, 36, 64]



📌 Синтаксис:
[выражение for переменная in последовательность if условие]


💬 Читается как:
«Добавь выражение в список для каждого элемента, если выполняется условие»



🚩 Примеры для ЕГЭ:

🟣Все нечётные числа от 1 до 20:
[x for x in range(1, 21) if x % 2 != 0]


🟣Строки в верхнем регистре:
[s.upper() for s in ['питон', 'егэ', 'код']]


🟣Цифры от 0 до 9, кроме 3 и 7:
[x for x in range(10) if x not in (3, 7)]



💭 Когда использовать?

🕓для компактного создания списков
🕓когда нужна фильтрация (if)
🕓при преобразовании значений

💡 Важно: генераторы не заменяют циклы везде. Но для быстрого и чистого кода они очень полезны.


#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
🚀 Почему нельзя использовать is для сравнения строк и чисел в Python? #tpy

💻 is - это оператор идентичности, он проверяет, ссылаются ли переменные на один и тот же объект в памяти. А == - оператор равенства, сравнивает значения.

🔍 Для небольших чисел и коротких строк Python часто использует кэш, поэтому is может иногда возвращать True.
Но для больших чисел или длинных строк это не гарантировано - объекты могут быть разными.


Пример с кодом:
a = 256
b = 256
print(a is b) # True (кэш)

x = "hello"
y = "hello"
print(x is y) # True (кэш)

a = 1000
b = 1000
print(a is b) # False (разные объекты)


⚠️ Используйте == для сравнения значений, is - только чтобы проверить, ссылаются ли переменные на один объект!

#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1🫡1