uk
Feedback
🐍 Укус питона 🐍

🐍 Укус питона 🐍

Відкрити в Telegram

🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки. 👽 Админ - @tg_adminisrator 🔊 Купить рекламу: https://telega.in/c/byteofpython 👉 Чат: @abyteofpython 👉 Поделиться с друзьями: @byteofpython

Показати більше
2 334
Підписники
Немає даних24 години
-117 днів
-3730 день
Архів дописів
Что выведет код?
Anonymous voting

photo content

photo content

🎯 set() в Python: работа с уникальными данными set() — это неупорядоченная коллекция уникальных элементов, которая позволяет легко убирать дубликаты и быстро выполнять операции над множествами. ✅ Пример:
numbers = [1, 2, 2, 3, 4, 4, 5]
unique_numbers = set(numbers)
print(unique_numbers)  # {1, 2, 3, 4, 5}
🔹 Ключевые свойства set() • Хранит только уникальные элементы. • Поддерживает быстрый поиск (O(1)). • Не сохраняет порядок элементов. 🔹 Основные операции: • Объединение: set1 | set2 • Пересечение: set1 & set2 • Разность: set1 - set2 ⚡️ Используйте set() для удаления дубликатов и эффективной работы с уникальными данными!

🔗 zip() в Python: удобное объединение данных zip() соединяет элементы из нескольких последовательностей попарно, создавая кортежи с одинаковыми индексами. ✅ Пример:
keys = ["name", "age", "city"]
values = ["Alice", 25, "NY"]

data = dict(zip(keys, values))
print(data)  # {'name': 'Alice', 'age': 25, 'city': 'NY'}
🔹 Как работает zip()? • Комбинирует списки в пары. • Завершается, когда самый короткий список заканчивается. • Использует итератор, экономя память. 🔹 Где полезен? • Генерация словарей из двух списков. • Итерация по нескольким последовательностям одновременно. • Упрощение работы с табличными данными.
Используйте zip() для компактного и читаемого кода!

Что выведет код?
Anonymous voting

photo content

Так и работаем
Так и работаем

🐍 Что делает enumerate() в Python? enumerate() добавляет индекс при итерации по списку. ✅ Пример:
fruits = ["🍎", "🍌", "🍇"]
for i, fruit in enumerate(fruits, start=1):
    print(i, fruit)

1 🍎  
2 🍌  
3 🍇  
Зачем нужно? Упрощает работу с индексами в циклах Делает код читаемым без range(len()) Используйте enumerate() вместо range(len()) для чистого и Pythonic-кода!

🔥 Что такое slots в Python и зачем он нужен? slots ограничивает список атрибутов у экземпляров класса, экономя память за счет отказа от dict. ✅ Обычный класс без slots:
class Person:
    def init(self, name, age):
        self.name = name
        self.age = age

p = Person("Alice", 25)
p.city = "New York"  # Можно добавить новый атрибут
✅ Класс с slots:
class Person:
    slots = ("name", "age")  # Разрешены только эти атрибуты

    def init(self, name, age):
        self.name = name
        self.age = age

p = Person("Alice", 25)
p.city = "New York"  # ❌ AttributeError: 'Person' object has no attribute 'city'
➕ Плюсы slots Экономит память (не создается dict) Ускоряет доступ к атрибутам Предотвращает создание лишних атрибутов ⚡️ Используйте slots, если нужно много однотипных объектов и важна производительность!

Что выведет код?
Anonymous voting

photo content

Что делает @property в Python? @property превращает метод класса в свойство, позволяя обращаться к нему без скобок. Пример:
class Person:
    def init(self, name):
        self._name = name

    @property
    def name(self):  
        return self._name  

p = Person("Alice")
print(p.name)  # Alice (как атрибут, но с логикой)
Зачем нужно? Позволяет использовать методы как атрибуты Защищает данные от прямого изменения Позволяет добавить логику без изменения интерфейса ⚡️ @property делает код чище и безопаснее, улучшая инкапсуляцию!

Немножко о реализации set в Python Почему set в Python не всегда такой хаотичный, как кажется? Разбираемся, как множества уст
Немножко о реализации set в Python Почему set в Python не всегда такой хаотичный, как кажется? Разбираемся, как множества устроены под капотом, как работают хэш-таблицы и почему порядок элементов иногда оказывается предсказуемым.

🔥 lambda — короткие функции в Python lambda — это анонимная функция, которая записывается в одну строку и не требует def. Используется там, где нужна простая операция без имени функции. ✅ Пример (обычная функция vs. lambda):
def square(x):
    return x ** 2

square_lambda = lambda x: x ** 2

print(square(5))        # 25
print(square_lambda(5)) # 25
🔹 Где используется? 1️⃣ map() — Применение функции к списку
nums = [1, 2, 3, 4]
squared = list(map(lambda x: x ** 2, nums))  
print(squared)  # [1, 4, 9, 16]
2️⃣ filter() — Фильтрация данных
even = list(filter(lambda x: x % 2 == 0, nums))
print(even)  # [2, 4]
3️⃣ sorted() — Сортировка по ключу
pairs = [(1, 'one'), (3, 'three'), (2, 'two')]
pairs.sort(key=lambda x: x[0])
print(pairs)  # [(1, 'one'), (2, 'two'), (3, 'three')]
⚡️ Когда использовать lambda? Когда функция простая и короткая Когда она нужна один раз ❌ Не стоит использовать lambda, если логика сложная – лучше писать def.

Что выведет код?
Anonymous voting

photo content

↔️ Разница между is и == в Python 🔹 == (равенство) проверяет, равны ли значения объектов:
a = [1, 2, 3]
b = [1, 2, 3]
print(a == b)  # True (значения одинаковые)
🔹 is (идентичность) проверяет, указывают ли переменные на один и тот же объект в памяти:
print(a is b)  # False (разные объекты)
🔹 Но для immutable-объектов (например, int, str, tuple) Python кеширует значения:
x = 256
y = 256
print(x is y)  # True (указывают на один объект)
✅ Используйте == для сравнения значений и is для проверки, ссылаются ли переменные на один объект в памяти!

🔥 *args и **kwargs в Python 🔹 *args — передает позиционные аргументы как кортеж:
def add_numbers(*args):
    return sum(args)

print(add_numbers(1, 2, 3))  # 6
🔹 **kwargs — передает именованные аргументы как словарь:
def greet(**kwargs):
    print(kwargs)

greet(name="Alice", age=25)  # {'name': 'Alice', 'age': 25}
✅ Используйте *args для списка значений и **kwargs для гибких параметров!