为了构建我的控制台输出,我想打印一些信息,我想从带下划线的标题开始。但是如何在不创建额外变量的情况下很好地完成它?
现在我这样做:
print("{:s}\n{:s}\n".format("This is an underlined headline.", len("This is an underlined headline.") * "-"))
什么给了我想要的输出:
This is an underlined headline.
-------------------------------
但那段代码很糟糕。有没有更好的格式字符串来实现?
print("{0:s}\n?????\n".format("This is an underlined headline.", "-"))
谢谢 :)
也许尝试使用ANSI转义序列
class Format:
end = '\033[0m'
underline = '\033[4m'
print(Format.underline + 'Your text here' + Format.end)
它将打印带下划线的文本,对于整个ANSI转义序列文档,请单击here
有一个unicode字符'\u0332'
,COMBINING LOW LINE *,它作为字符串中字符的下划线。所以你可以尝试:
print('{:s}'.format('\u0332'.join('This is an underlined headline.')))
哪个应该生成带下划线的字符串:
这是一个带下划线的标题。
但是,输出的外观可能取决于呈现输出的应用程序及其使用的字体。我的浏览器生成带下划线的字符串,我的(Linux)终端显示它,好像每个字符后跟一个下划线。
*还有'\u0333'
,COMBINING DOUBLE LOW LINE,双下划线。