python函数深入浅出 8.lower()及其相关函数详解

1,274 阅读2分钟

1.函数名及其来源

lower() 函数命名来源英文lower(小写) 相关函数upper()来源英文upper(大写) 用于转换字符串的大小写

例子:

>>>str = "THIS IS STRING EXAMPLE....WOW!!!"
>>>print(str.lower())
this is string example....wow!!!

还有用于判断大小写的: 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False islower() isupper()

>>>str = "THIS is string example....wow!!!"; 
>>>print(str.islower())
False

2.函数定义源码及其用法拆解

str.lower()

用途:

应为用户的输入大小写不可控,除了密码等少数需要严格区分大小写的场景,大多数情况我们要对大小写做兼容,减少用户的使用成本(同时还需要自动过滤掉首尾空格等无效字符)

至于需要统一转大写还是转小写,则取决于系统的设计,并无统一范式。

比如我们统一将用户输入的用户名转换为小写

username = input('plear enter your username:')
username = username.lower()

其他类似判断方法:

  • isdigit(): 字符串中至少有一个字符且如果所有字符都是数字,那么返回结果就是True;否则,就返回False
S1 = '12345'       #纯数字
S2 = '①②'          #带圈的数字
S3 = '汉字'        #汉字
S4 = '%#¥'        #特殊符号
 
print(S1.isdigit())
print(S2.isdigit())
print(S3.isdigit())
print(S4.isdigit())

# 执行结果:
True     
True
False
False
  • isalpha() :字符串中至少有一个字符且如果所有字符都是字母,那么返回结果就是True;否则,就返回False
S1 = 'abc汉字'     #汉字+字母
S2 = 'ab字134'     #包含数字
S3 = '*&&'         #特殊符号

print(S1.isalpha())
print(S2.isalpha())
print(S3.isalpha())

#执行结果
True
False
False

判断是否纯英文:

>>>word = 'abc汉字'
>>>word.encode( 'UTF-8' ).isalpha()
False
  • isalnum() 字符串中至少有一个字符且如所有字符都是字母数字,那么返回结果就是True;否则,就返回False
S1 = 'abc汉字1'    #字母+汉字+数字
S2 = '①②③'      #带圈的数字
S3 = '%……&'       #特殊符号

print(S1.isalnum())
print(S2.isalnum())
print(S3.isalnum())

#执行结果
True
True
False

3.版本差异

无版本差异

4.学习建议

在编程世界里有个不成文的约定:"用户的输入都是不可靠的"。 也就意味着你不能指望用户按照既定的提示输入符合要求的字符。 所以这些对输入变量的判断函数就显得尤为重要。

对基础运行环境有疑问的,推荐参考:python函数深入浅出 0.基础篇