我在一个问题中有两个 String.printable 之谜。
首先,在 Python 2.6 中:
>>> string.printable
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'
查看字符串的末尾,您会发现 '\x0b\x0c' 像大拇指一样突出。他们为什么在那里?我正在使用设置为澳大利亚设置的机器,所以不应该有任何重音字符等。
接下来,尝试运行以下代码:
for x in string.printable: print x,
print
for x in string.printable: print x
第一行成功打印了由空格分隔的所有字符。这两个奇怪的字符变成了男性和女性符号。
第二行成功打印除最后一个由换行分隔的所有字符。男性符号打印;女性符号被替换为缺少的字符(一个框)。
我敢肯定 Python 的本意不是带有性别偏见,那么有什么区别呢?