格式和变量之间的打印百分比实际上是多少?

Mar*_*ger 0 python

我只是开始愚弄print语句的输出格式.

我看到的示例在格式列表之后和参数之前有%,如下所示:

>>> a=123
>>> print "%d" % a
123
Run Code Online (Sandbox Code Playgroud)

什么是%更重要的含义,为什么有必要?

unw*_*ind 7

它是字符串格式化操作符,它告诉Python查看左边的字符串,并构建一个新字符串,其中字符串中的%-sequences被替换为操作符右侧的值的格式化版本.

它不是"必要的",您可以直接打印值:

>>> print a
123
Run Code Online (Sandbox Code Playgroud)

但是可以使用printf()样式格式很好,这就是你在Python中的表现.

正如评论中所指出的那样,请注意字符串格式化操作符没有以print任何方式连接,它就像其他任何操作符一样.您可以将值格式化为字符串而不打印它:

>>> a = 123
>>> padded = "%05d" % a
>>> padded
00123
Run Code Online (Sandbox Code Playgroud)

  • 它与`print`完全无关.这一切都发生在甚至考虑`print'之前. (4认同)