Подчеркивать _ как имя переменной в Python [дубликат]
На этот вопрос уже есть ответ здесь:
Какова цель единственного подчеркивания «_» переменная в Python? 4 ответаУ Питера Норвига есть эссе с описаниемпрограмма для решения головоломок судокуДаже самые сложные, сочетая детерминированные логические операции и умный обход возможных решений. Последнее делается рекурсивно; Вот'с этой функцией ():
def search(values):
"Using depth-first search and propagation, try all possible values."
if values is False:
return False ## Failed earlier
if all( len( values[s]) == 1 for s in squares):
return values ## Solved!
## Chose the unfilled square s with the fewest possibilities
_,s = min( (len( values[s]), s)
for s in squares
if len(values[s]) > 1
)
return some( search( assign( values.copy(), s, d))
for d in values[s]
)
(Я'я добавил несколько пробелов, символов CR и табуляции для моих глаз; извинения доктору Норвиг.)
Прямо под комментарием естьСтрока, начинающаяся с ""_,s
, Это похоже на распакованный кортеж (len(values[s]),s
) с минимальным значениемs
, Доктор Норвиг использует ""_
как имя переменной, просто чтобы указать это "с "дон»т заботиться результат или что-то еще происходит? Есть ли времена, когда ""_
рекомендуется в качестве имени переменной? В интерактивном режиме ""_
содержит ответ предыдущей операции; есть ли подобная функция в неинтерактивном коде?
Спасибо за хорошие ответы. Я думаю, что Ответ идет к Алексу Мартелли для "добавленная стоимость; он указывает, что_, vbl_of_interest " идиома часто является побочным эффектом идиомы DSU, которая сама по себе стала в значительной степени ненужной.