Python3.x和打印Unicode符号
Python3.x和打印Unicode符号,python,unicode,python-3.x,Python,Unicode,Python 3.x,你好 我试图打印出一些unicode符号,比如从U+2660到U+2667。 有一个没有问题,我只是写: print('\u2660') 但是,当我想在循环中打印一组符号(或一个,但依赖于变量)时,类似这样的操作不起作用: for i in range(2660, 2668): print('\u{}'.format(i)) 我以为Python会先执行.format函数,用number替换{},然后查看引号中的内容并打印出来。没有,我也不明白为什么。:) 请帮忙, TIA wikto
你好
我试图打印出一些unicode符号,比如从U+2660到U+2667。 有一个没有问题,我只是写:
print('\u2660')
但是,当我想在循环中打印一组符号(或一个,但依赖于变量)时,类似这样的操作不起作用:
for i in range(2660, 2668):
print('\u{}'.format(i))
我以为Python会先执行.format函数,用number替换{},然后查看引号中的内容并打印出来。没有,我也不明白为什么。:)请帮忙,
TIA
wiktorUnicode转义的解析是在编译时完成的,而不是在运行时
for i in range(0x2660, 0x2668):
print(chr(i))
当Python解析/计算字符串文本时,
'\u'
会发生转义。这是在对结果字符串调用格式之前。哇,伙计们,你们比光速还快。:)谢谢@Ignacio和@user2864740。这解释了一切。我重新设计了我的脚本,现在它使用chr(hex\u num)
而不是'\uhex\u num'
。问题解决了!