Из первого абзаца предыдущего раздела :
Для построения списка, набор или словарь Python предоставляет специальный синтаксис, называемый «display», каждый из которых вдва варианта:
- либо содержимое контейнера указано в явном виде, либо
- они вычисляются с помощью набора инструкций зацикливания и фильтрации, называемых пониманием.
Отображение - это общий термин, который включает в себя «литералы» и понимания.
[1, foo(x), "bar"]
- это литерал списка (игнорируя тот факт, что foo(x)
должен оцениваться первым).
[foo(x) for x in A]
- это понимание списка.
Оба являются отображением списка.
Как указывает @ r.ook, язык резервирует термин литерал , строго говоря, для выражений, которые производят константу значений таких типов, как str
и int
.
Константный аспект имеет решающее значение, если вы хотитеобъясните, почему f'{x}'
является буквальным, а [1]
- нет. Первый вычисляется во время выполнения, но результирующая строка является фиксированной, в то время как [1]
может создавать список во время компиляции, но этот список может быть изменен позже.