У меня есть две String.printable mysteries в одном вопросе.
Во-первых, в Python 2.6:
>>> string.printable
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>[email protected][\\]^_`{|}~ \t\n\r\x0b\x0c'
Посмотрите на конец строки, и вы увидите, что "\ x0b\x0c" торчит как больной палец. Почему они там? Я использую машину, установленную в австралийских настройках, поэтому не должно быть никаких акцентированных символов или тому подобного.
Затем попробуйте запустить этот код:
for x in string.printable: print x,
print
for x in string.printable: print x
Первая строка успешно печатает все символы, разделенные пробелом. Два нечетных символа оказываются в виде мужских и женских символов.
Вторая строка успешно печатает все символы EXCEPT THE LAST, разделенные линией. Мужской символ печатает; женский символ заменяется отсутствующим символом (поле).
Я уверен, что Python не предназначался для гендерного предвзятого отношения, и что дает с разницей?