Python:string.uppercase与string.ascii_uppercase

Dha*_*mit 8 python

这可能是一个愚蠢的问题,但我不明白字符串模块中string.uppercase和string.ascii_uppercase之间的区别.打印两个函数的docstring打印相同的东西.甚至输出print string.uppercaseprint string.ascii_uppercase相同.

谢谢.

dka*_*ins 19

请参阅:http://docs.python.org/library/string.html

string.ascii_uppercase:

  • 大写字母'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.此值不依赖于语言环境,不会更改.

string.uppercase:

  • 包含所有被视为大写字母的字符的字符串.在大多数系统中,这是字符串'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.特定值取决于语言环境,并在调用locale.setlocale()时更新.


Dun*_*can 9

请注意,在Python 3.x中,string.uppercase以及string.lowercase和string.letters已经过蒸发.当您更改区域设置时,使全局"常量"变化并不是一种好习惯.(见http://docs.python.org/py3k/whatsnew/3.0.html)

所以对于任何新代码来说最好的事情可能是假装它们在Python 2.x中也不存在.这样,如果您确实需要迁移到Python 3.x,则不会存储问题