平时我们进行大小写转换基本都是使用upper和lower函数,使用方法:
s = 'Hello,Python123'
#大写转小写
s.lower()
-->'hello,python123'
#小写转大写
s.upper()
-->'HELLO,PYTHON123'
但是如果想把字符串中的大写字母转成小写,小写字母转成大写,上面两个函数就不再适用了,如下代码,函数ord是用于返回一个字符的unicode编码,大写字母A-Z比小写字母a-z小32,利用大小写字母的unicode编码进行转换,chr函数则是把相应的unicode编码转换为字符。
s = 'Hello,Python123'
def lower_upper(x):
lst = []
for item in x:
if 'A'<=item<='Z':
lst.append(chr(ord(item)+32))
elif 'a'<=item<='z':
lst.append(chr(ord(item)-32))
else:
lst.append(item)
return ''.join(lst)
lower_upper(s)
-->'hELLO,pYTHON123'