Telegram Group & Telegram Channel
Распаковка параметров функций в 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 по-прежнему вызывает лёгкую ностальгию.

👉 @BookPython



tg-me.com/BookPython/3435
Create:
Last Update:

Распаковка параметров функций в 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 по-прежнему вызывает лёгкую ностальгию.

👉 @BookPython

BY Библиотека Python разработчика | Книги по питону


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/BookPython/3435

View MORE
Open in Telegram


Библиотека Python разработчика Telegram | DID YOU KNOW?

Date: |

What is Telegram?

Telegram is a cloud-based instant messaging service that has been making rounds as a popular option for those who wish to keep their messages secure. Telegram boasts a collection of different features, but it’s best known for its ability to secure messages and media by encrypting them during transit; this prevents third-parties from snooping on messages easily. Let’s take a look at what Telegram can do and why you might want to use it.

The global forecast for the Asian markets is murky following recent volatility, with crude oil prices providing support in what has been an otherwise tough month. The European markets were down and the U.S. bourses were mixed and flat and the Asian markets figure to split the difference.The TSE finished modestly lower on Friday following losses from the financial shares and property stocks.For the day, the index sank 15.09 points or 0.49 percent to finish at 3,061.35 after trading between 3,057.84 and 3,089.78. Volume was 1.39 billion shares worth 1.30 billion Singapore dollars. There were 285 decliners and 184 gainers.

Библиотека Python разработчика from us


Telegram Библиотека Python разработчика | Книги по питону
FROM USA