В «6.1.3 Формат Строка Синтаксис» в Python 3.5.2 документации, то field_name
для грамматики замены поля для str.format()
записывается так:Что означает звезда в значении field_name в документе Python str.format()?
field_name ::= arg_name ("." attribute_name | "[" element_index "]")*
Что делает звезду на очень правильном среднем ? Я могу догадаться, что могу получить атрибут объекта с arg_name.attribute
или элементом с arg_name[element_index]
, но я не знаю, добавляет ли эта дополнительная звезда, что я могу сделать больше с объектом. Я предполагаю, что это означает, что .attribute_name
и [element_index]
являются необязательными, но я думал, что круглые скобки уже подразумевали это.
Я предполагаю, что '*' означает, что '(". "Attribute_name |" ["element_index"] ")' может повторяться любое количество раз, включая 0. – vaultah
@vaultah Я думаю, что вы правы. Знаете ли вы, где в документах описывается '*'? Я помню, что видел его где-то там, я не знаю, где именно. – DragonautX
@vaultah вы правы. – furas