这种特殊的性格是什么?

时间:2016-02-28 04:42:51

标签: python python-3.x

我一直在阅读一本python 3书,并且一直在学习自己编程,但这本书并没有特别解释:

print(end = "%2i" % column)

我凭经验发现他们用内部取代了外面的价值,但我想具体说明这一点。在解决这个问题之前,我本来希望谷歌它,但我甚至不知道它叫什么,还有其他类似的表达方式,这些是什么?

1 个答案:

答案 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!