Как сократить код с помощью множественного присваивания (5 примеров)

Как сократить код с помощью множественного присваивания (5 примеров) Переменные и типы данных

Привет! Множественное присваивание — это одна из тех фишек Python, которая делает код короче, чище и читаемее. В этой статье я покажу 5 практических примеров, как использовать эту возможность для сокращения кода.

В этой статье мы разберём:

  • Обмен значений переменных
  • Распаковка списков и кортежей
  • Возврат нескольких значений из функции
  • Обновление данных в цикле
  • Парсинг строк и данных

Что нужно знать перед началом

Для этого урока тебе понадобится:

  • Установленный Python
  • Базовое понимание переменных и списков

Совет: Множественное присваивание делает код чище и читаемее. Используй его везде, где можно.

Основная часть

Пример 1. Обмен значений переменных

Обычный способ (другие языки):

a = 5
b = 10

temp = a
a = b
b = temp

print(a, b)   # 10 5

Сокращённый способ (Python):

a = 5
b = 10

a, b = b, a

print(a, b)   # 10 5

Совет: Это один из самых известных примеров. Python сначала вычисляет все значения справа, а потом присваивает их переменным слева.

Пример 2. Распаковка списков и кортежей

Обычный способ:

data = [10, 20, 30]

x = data[0]
y = data[1]
z = data[2]

print(x, y, z)   # 10 20 30

Сокращённый способ:

data = [10, 20, 30]

x, y, z = data

print(x, y, z)   # 10 20 30

Игнорирование значений:

data = [10, 20, 30]
x, _, z = data   # 20 игнорируется
print(x, z)      # 10 30

Совет: _ используется для игнорирования значений, которые не нужны.

Пример 3. Возврат нескольких значений из функции

Обычный способ:

def get_user():
    return "Анна", 25, "Москва"

result = get_user()
name = result[0]
age = result[1]
city = result[2]

print(name, age, city)   # Анна 25 Москва

Сокращённый способ:

def get_user():
    return "Анна", 25, "Москва"

name, age, city = get_user()

print(name, age, city)   # Анна 25 Москва

Совет: Функции могут возвращать кортеж, который легко распаковывается.

Пример 4. Обновление данных в цикле

Обычный способ:

data = [(1, 2), (3, 4), (5, 6)]

for item in data:
    x = item[0]
    y = item[1]
    print(x, y)

Сокращённый способ:

data = [(1, 2), (3, 4), (5, 6)]

for x, y in data:
    print(x, y)

Совет: Распаковка в цикле делает код чище и понятнее.

Пример 5. Парсинг строк и данных

Обычный способ:

line = "Анна,25,Москва"

parts = line.split(",")
name = parts[0]
age = int(parts[1])
city = parts[2]

print(name, age, city)   # Анна 25 Москва

Сокращённый способ:

line = "Анна,25,Москва"

name, age, city = line.split(",")
age = int(age)

print(name, age, city)   # Анна 25 Москва

Совет: Распаковка результата split() делает код короче и читаемее.

Бонус: расширенная распаковка с *

# Сбор оставшихся элементов в список
first, *rest = [1, 2, 3, 4, 5]
print(first)   # 1
print(rest)    # [2, 3, 4, 5]

# Первый и последний
first, *middle, last = [1, 2, 3, 4, 5]
print(first, middle, last)   # 1 [2, 3, 4] 5

Задачи для закрепления

Задача 1. Поменяй местами значения a = 5 и b = 10.

Задача 2. Распакуй список [1, 2, 3] в переменные x, y, z.

Задача 3. Напиши функцию, возвращающую кортеж (name, age, city), и распакуй результат.

Задача 4. В цикле распакуй элементы списка кортежей [(1, 2), (3, 4), (5, 6)].

Задача 5. Распакуй результат split() для строки "Анна,25,Москва".

Ответы:

Задача 1.

a, b = 5, 10
a, b = b, a
print(a, b)   # 10 5

Задача 2.

data = [1, 2, 3]
x, y, z = data
print(x, y, z)   # 1 2 3

Задача 3.

def get_user():
    return "Анна", 25, "Москва"

name, age, city = get_user()
print(name, age, city)   # Анна 25 Москва

Задача 4.

data = [(1, 2), (3, 4), (5, 6)]
for x, y in data:
    print(x, y)

Задача 5.

line = "Анна,25,Москва"
name, age_str, city = line.split(",")
age = int(age_str)
print(name, age, city)   # Анна 25 Москва

Шпаргалка

Что нужноКак пишется
Обмен значенийa, b = b, a
Распаковка спискаx, y, z = [1, 2, 3]
Игнорирование значенияx, _, z = [1, 2, 3]
Распаковка кортежаx, y = (1, 2)
Расширенная распаковкаfirst, *rest = [1, 2, 3]

КВИЗ

Заключение

Сегодня мы:

  • Научились сокращать код с помощью множественного присваивания
  • Разобрали 5 практических примеров
  • Увидели, как делать код чище и читаемее

Оцените статью
IMI-DS - PYTHON LERNEN
Содержание
Оглавление ×