嵌套占位符“ {}”如何以格式语言工作?

时间:2019-04-06 11:29:09

标签: python-3.x python-3.7

我不太了解格式语言中嵌套占位符{}的工作方式。 str.format()

示例:

>>> '{{{}}}{{{}}}'.format(25, 10)
'{25}{10}'
>>> '{{}}{{}}'.format(25, 10)
'{}{}'
>>> '{{{}}}{{}}'.format(25, 10)
'{25}{}'
>>> '{{{}}}{{{}}}'.format(25, 10)
'{25}{10}'
>>> '{{{{}}}}{{{}}}'.format(25, 10)
'{{}}{25}'
>>> '{{{{{}}}}}{{{}}}'.format(25, 10)
'{{25}}{10}'

有人可以分步向我解释占位符的价值吗?

1 个答案:

答案 0 :(得分:0)

根据python文档https://docs.python.org/3.4/library/string.html#format-string-syntax

class A{
    int a;
public:
    virtual std::string toString() = 0;
};

class B{
    A a;
public:
    std::string toString();
};

一个简单的例子将会理解

Format strings contain “replacement fields” surrounded by curly braces {}.  
 Anything that is not contained in braces is considered literal text, which is  
 copied unchanged to the output. If you need to include a brace character in the  
 literal text, it can be escaped by doubling: {{ and }}.

每当您看到大括号的偶数>>> '{}'.format(25) '25' >>> '{{}}'.format(25) '{}' >>> '{{{}}}'.format(25) '{25}' >>> '{{{{}}}}'.format(25) '{{}}' >>> '{{{{{}}}}}'.format(25) '{{25}}' >>> '{{{{{{}}}}}}'.format(25) '{{{}}}' 时,大括号都被转义,并且没有打印数字,我们得到了(n)大括号,但大括号中的数字为n/2,数字显示在(n)大括号周围(根据观察结果

类似的想法可以在上面的示例中看到