例如,
扩展字符串类,以便打印它会在它前面加上一个制表符或一些空格。然后能够调用它,
print 'hello world'
当在标准输出上看到时,会在前面加上制表符(空白)。
例如,
扩展字符串类,以便打印它会在它前面加上一个制表符或一些空格。然后能够调用它,
print 'hello world'
当在标准输出上看到时,会在前面加上制表符(空白)。
是:编辑 Python 的源代码。
说真的:像任何其他编程模型(结构化、OO、建模)一样,Python 对您可以做的事情施加了一些限制。虽然其中一些可能会让人觉得武断或“愚蠢”,但它们都有一个很好的理由(通常是所有其他解决方案的缺点或过去的错误,如果不破坏所有现有代码就无法再修复)。
当你觉得你需要打破规则时,退后一步考虑一下:也许你的“解决方案”是错误的?也许有更好的方法来实现你想要的?
在这种情况下,使用格式:
f = '\t%s'
print f % 'hello world'
与您的解决方案不同,这明确地传达了您尝试实现的目标。
也就是说,您可以使用“猴子修补”的技术。请注意,这种技术是危险的。在大多数情况下,这意味着使用该技术的人不知道他们在做什么。
你想改变字符串类,还是只是print
你想改变的行为?如果你:
from __future__ import print_function
(或使用 Python 3)您可以提供自己的print
函数,例如:
def print(*line, **kwargs):
args = dict(sep=' ', end='\n', file=None)
args.update(kwargs)
sep = args['sep']
end = args['end']
file = args['file']
newlist = [];
for userln in line:
newlist.append("\t"+userln) # prefix the line with a tab
if file == None:
file = sys.stdout
__builtin__.print(sep.join(newlist),end=end,file=file)