TGViewer
Библиотека Python разработчика | Книги по питону Библиотека Python разработчика | Книги по питону @bookpython · 18.1K subscribers
Post #3897 1.94K
Распаковка параметров функций в Python 2 и 3

В Python 2 существовала интересная возможность распаковывать параметры функций прямо в их определении. Пример:


def between(x, (start, stop)):
return start < x < stop

interval = (5, 10)
print(between(2, interval)) # False
print(between(7, interval)) # True


Более того, это работало даже рекурсивно:


def determinant_2_x_2(((a, b), (c, d))):
return a * d - c * b

matrix = [
(1, 2),
(3, 4),
]
print(determinant_2_x_2(matrix)) # -2


Но начиная с Python 3, эта возможность была удалена из языка. Чтобы добиться того же результата, теперь нужно распаковывать параметры вручную:


def determinant_2_x_2(matrix):
row1, row2 = matrix
a, b = row1
c, d = row2
return a * d - c * b

matrix = [
(1, 2),
(3, 4),
]
print(determinant_2_x_2(matrix)) # -2


Удаление этой функциональности сделало код более явным и читаемым, но для любителей компактности Python 2 по-прежнему вызывает лёгкую ностальгию.

📲 Мы в MAX

👉@BookPython
  • 👍 4
  • ❤ 1
More from @bookpython
  1. Sep 25, 2026Как быстро очистить список в Python? Сегодня я покажу вам несколько способов очистки списк…
  2. Sep 24, 2026🚀 5 крутых Python-фишек, о которых знают не все Python — мощный и удобный язык, но даже о…
  3. Sep 23, 2026🔥 Как ускорить Python-код в 10 раз? Сегодня покажу вам мощный инструмент для оптимизации…
  4. Sep 21, 202610 полезных библиотек для Python-разработчика Сегодня я подготовил для вас подборку из 10…
  5. Sep 16, 2026Если у вас есть ресурсоемкая задача для процессора и вы хотите использовать все доступные…
  6. Sep 15, 2026Protocol vs ABC: Утиная типизация на стероидах (Static Duck Typing) В классическом ООП (Ja…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →