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

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

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Что выведет следующий код?
Anonymous Quiz
58%
'try'
26%
'finally'
0%
'except'
16%
Ошибка выполнения
👍1
🔹 Что делает *

Распаковывает позиционные значения — элементы из списка, кортежа, строки и т.д.

Пример:
numbers = [1, 2, 3]
print(*numbers) # Вывод: 1 2 3


Или объединение:
a = [1, 2]
b = [3, 4]
combined = [*a, *b] # [1, 2, 3, 4]


Также *args используется в функциях для сбора неограниченного числа аргументов.


🔹 Что делает **

Распаковывает именованные аргументы из словаря.

Пример:
def greet(name, age):
print(f"{name}, {age} лет")

data = {"name": "Анна", "age": 30}
greet(**data) # Эквивалентно greet(name="Анна", age=30)


Также **kwargs используется для сбора именованных аргументов внутри функций.


🧠 Зачем это нужно

• Удобно передавать аргументы из коллекций

• Компактно объединять и копировать структуры

• Повышает читаемость и гибкость кода
Что выведет следующий код?
Anonymous Quiz
19%
[2, 2, 2]
7%
[None, None, None]
37%
[0, 1, 2]
37%
Ошибка выполнения
🔹 lambda — анонимные функции в одну строку

lambda позволяет создавать небольшие функции без имени. Полезно для простых операций, особенно в сочетании с map(), filter() и sorted().

➡️ Пример:

square = lambda x: x ** 2
print(square(5)) # Вывод: 25


Такая функция не требует def и может быть использована сразу, "на месте". Подходит для одноразовых действий, когда обычная функция — избыточна.
🔹 Тернарный оператор — короткий if в одну строку

В Python можно записать простое условие в одну строку с помощью тернарного оператора.
Формат: a if условие else b

➡️ Пример:

age = 18
status = "взрослый" if age >= 18 else "несовершеннолетний"
print(status)

взрослый


Удобно для присваивания значений на основе условий без многострочного if.
Что выведет следующий код?
Anonymous Quiz
48%
Base
30%
Sub
9%
Ошибка выполнения
13%
None
🔹 list comprehension — создание списков в одну строку

Списковые включения позволяют создавать списки на основе других коллекций кратко и читаемо.

➡️ Пример:

squares = [x**2 for x in range(1, 6)]
print(squares)

[1, 4, 9, 16, 25]


Подходит для фильтрации, преобразования и генерации данных без лишнего кода.
Зачем используется функция zip() в Python и когда её применять

Функция zip() объединяет несколько итерируемых объектов, возвращая итератор кортежей, где каждый кортеж содержит элементы с одинаковым индексом из всех коллекций.

Это удобно для синхронной обработки данных из разных источников.

Пример:

names = ["Alice", "Bob", "Charlie"]
scores = [85, 92, 78]

for name, score in zip(names, scores):
print(f"{name}: {score}")
# ➜ Alice: 85
# ➜ Bob: 92
# ➜ Charlie: 78


📌 В этом примере zip() объединяет списки имён и баллов, позволяя пройтись по ним одновременно.

zip() удобно использовать при работе с таблицами, конфигурациями, CSV-данными, векторными операциями и в ML — когда нужно синхронно итерироваться по признакам и меткам. Код получается чище и безопаснее, чем ручной перебор с индексами.
Что выведет следующий код?
Anonymous Quiz
25%
test
25%
got
13%
set test, test
38%
set test, got
🔹 zip() + unpacking — параллельный перебор списков

С помощью zip() можно перебирать несколько списков одновременно.

А с распаковкой (*) удобно разъединять обратно.

➡️ Пример:

names = ["Анна", "Борис", "Вера"]
scores = [90, 85, 78]

for name, score in zip(names, scores):
print(f"{name}: {score}")

Анна: 90
Борис: 85
Вера: 78


zip() помогает работать с данными построчно и синхронно.

А zip(*iterable) делает обратное — трансформирует строки в колонки.
🔹 set() — быстрое удаление дубликатов

Множество (set) хранит только уникальные значения.

Используется для удаления повторов и быстрой проверки принадлежности.

➡️ Пример:

numbers = [1, 2, 2, 3, 4, 4, 5]
unique = list(set(numbers))
print(unique)

[1, 2, 3, 4, 5]


set() — простой способ избавиться от дубликатов в списке. Порядок элементов не сохраняется.