我一直在阅读一本python 3书,并且一直在学习自己编程,但这本书并没有特别解释:
print(end = "%2i" % column)
我凭经验发现他们用内部取代了外面的价值,但我想具体说明这一点。在解决这个问题之前,我本来希望谷歌它,但我甚至不知道它叫什么,还有其他类似的表达方式,这些是什么?
答案 0 :(得分:2)
这里有一些事情发生。首先,让我们看看字符串:
'%2i' % column
在此字符串中,%
表示可以在字符串中的该位置替换值。 2
表示替换将至少 2个字符宽。 i
表示应该将整数作为格式化参数传递。然后,% column
部分表示应根据上述规则将column
替换为%2i
。以下是一些例子:
'%2i' % 4 # ' 4'
'%2i' % 12 # '12'
'%3i' % 12 # ' 12'
'%s: %s' % ('a', 'b') # 'a: b'
最后一个示例显示可以替换多个值。所有这些都说明,不建议使用%
进行字符串格式化;而是str.format
首选。
'{}: {}'.format('a', 'b') # 'a: b'
这两种方法都相对直观,你可以使用Google"字符串格式化Python"如果你想了解更多。
现在,让我们看看声明的print(end='...')
部分。 print
函数接受一个名为end
的参数,该参数指定在您打印的其他内容之后要打印的字符串。默认值为end='\n'
。如果您连续几次调用print
,则会产生自然行为,因为每个事物都将打印在新行上。
print('a')
print('b')
print('c')
# a
# b
# c
但是,如果要打印不是的新行分隔的多个内容,可以为end
提供函数和参数。
print('a', end=', ')
print('b', end=', ')
print('c', end='...\n')
print('There we go!')
# a, b, c...
# There we go!