Переменная «без записи» в Python - PullRequest
2 голосов
/ 01 февраля 2011

В MATLAB у вас есть возможность возвращать кортежи и присваивать кортежам значений то же, что вы делаете в Python.В MATLAB, если функция возвращает значение, которое вы никому не хотите назначать, вы назначаете его специальной переменной ~.Например, скажем, функция f() возвращает кортеж (1, 2), затем:

~, b = f()

Назначает 2 b и 1 ничему.

Есть лиэквивалент этого в Python?Я понимаю, что могу просто сделать:

a, b = f()

и игнорировать значение a, но я бы предпочел вообще пропустить присвоение a.Переписать функцию f() не вариант.

Я извиняюсь, если моя терминология Python неверна.

Ответы [ 2 ]

13 голосов
/ 01 февраля 2011

Распространенная идиома в Python - использовать для этой цели _.

Однако это не всегда хорошая идея, поскольку эта переменная также используется в интерактивном интерпретаторе для последнего результата, и присвоение ему будетотключить эту полезную функцию.

Также _ иногда используется для перевода строки, например, с gettext.

10 голосов
/ 01 февраля 2011

В качестве альтернативы вы всегда можете просто вернуть интересующую вас часть кортежа:

b = f()[1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...