Присвоение ни на один

У меня есть функция, которая возвращает 3 числа, например:

def numbers():
   return 1,2,3

обычно я вызываю эту функцию для получения всех трех возвращенных чисел, например:

a, b, c = numbers()

Однако у меня есть один случай, в котором мне только нужно первое возвращенное число. Я пытался использовать:

a, None, None = numbers()

Но я получаю "SyntaxError: присвоение ни на Один".

Я знаю, конечно, что могу использовать первую опцию, которую я упомянул, и затем просто не используют "b" и "c" переменные. Однако это походит на "трату" двух Вара и испытывает желание неправильно программировать.

15
задан JCotton 1 March 2012 в 00:29
поделиться

2 ответа

a, _, _ = numbers()

- это питонический способ сделать это. В Python 3 вы также можете использовать:

a, *_ = numbers()

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

22
ответ дан 1 December 2019 в 02:01
поделиться

Другой способ, конечно, a = numbers () [0] , если вы не хотите объявлять другую переменную. Сказав это, я обычно сам использую _.

9
ответ дан 1 December 2019 в 02:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: