致访客
感谢各位一年多的陪伴,因内容调整,本站将于近日迁移到新域名并不再更新主要内容。
特此通知。
感谢各位一年多的陪伴,因内容调整,本站将于近日迁移到新域名并不再更新主要内容。
特此通知。
概述
使用isupper()
方法时踩了个坑,看名字以为它判断的是字符串是否都是大写字母,实际上并非如此
源码说明
def isupper(self, *args, **kwargs): # real signature unknown
"""
Return True if the string is an uppercase string, False otherwise.
A string is uppercase if all cased characters in the string are uppercase and
there is at least one cased character in the string.
"""
pass
这里有一个很容易忽略的点,注释中说的是如果字符串中所有大小写的字符均为大写且字符串中至少有一个大小写的字符,则字符串为大写。
注意,说的是all cased characters
而不是all characters
。
所以其实isupper()
方法是不检查数字、符号和空格的,它仅检查字母字符。
结论
不如说isupper()
方法检测的是字符串中所有的字母
是否都为大写。