Advance pattern dating
Internal replacement fields cannot themselves have format specifiers.This implies also that replacement fields cannot be nested to arbitrary levels.The "all or nothing" approach (meaning that one must choose between only positional arguments, or only named arguments) is felt to be overly constraining.While there is some overlap between this proposal and string.This is by design - the types of expressions that you can use is deliberately limited.Only two operators are supported: the '.' (getattr) operator, and the '' (getitem) operator.
Each keyword argument is identified by its keyword name, so in the above example, 'c' is used to refer to the third argument.In the above example, the string 'name' really is the literal string 'name', not a variable named 'name'. If it starts with a digit, then it is treated as a number, otherwise it is used as a string.