2016-03-23 55 views
1

在Python 2Python 3的等效的Python 2中心的

print ("|").center(11,'-') 

當我嘗試在Python 3相同的代碼我收到以下錯誤消息以下作品在Python 3中同樣的事情?

+0

FWIW,還可以居中使用'.format'方法:' '{: -^11}'。格式( '居中')' – mgilson

回答

5
>>> print("|".center(11, '-')) 
-----|----- 

在Python 3 print是一個函數,所以你需要做的內部定心 - 否則你會調用它的print返回值。


此外,在Python 2,你不應該把括號出現在所有:

>>> print "|".center(11, '-') 
-----|----- 

爲什麼它用括號的原因是(foo)foo是一樣的。

使其在Python 2和Python 3中都能正常工作的另一種方法是將from __future__ import print_function添加到文件頂部,然後使用Python 3語法。

1

print一個函數,所以你在Python 3中的代碼是調用center()函數的返回值爲print(這是None)。 再添加一個一對括號的:

print(("|").center(11,'-'))