自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501
语法参考
casefold()方法是Python3.3版本之后引入的,其效果和lower()方法非常相似,都可以转换字符串中所有大写字符为小写。
两者的区别是:lower()方法只对ASCII编码,也就是‘A-Z’有效,而casefold()方法对所有大写(包括非中英文的其他语言)都可以转换为小写。casefold()方法的语法格式如下:
str.casefold()
返回将字符串中所有大写字符转换为小写后生成的字符串。
快用锦囊
锦囊1 将字符串中的大写字母转换为小写
下面使用casefold()方法对输入的大写字母进行转换,代码如下:
while 1: #循环输入
str1=input('请输入英文:')
print(str1.casefold())
运行程序,输出结果为:
请输入英文:MRSOFT
mrsoft
请输入英文:WWW.mingrisoft.com
www.mingrisoft.com
锦囊2 对非中英文的其他语言字符串中的大写转换为小写
例如,德语中的“ß”分别使用lower()方法和casefold()方法转换为小写,代码如下:
a = 'ß Fußball' #德语
print(a.lower())
print(a.casefold())
运行程序,输出结果为:
ß fußball
ss fussball
从以上结果看:lower()方法没有进行转换,而casefold()方法将“ß”转换为小写字母“ss”。因此,在对非中英文的其他语言字符串中的大写转换为小写时,应使用casefold()方法。
锦囊3 判断英文短句是否为“回文”
首先科普下“回文”。在中文中,相同的词汇或句子调换位置或颠倒过来,产生首尾回环的情趣,叫做回文。例如,“客上天然居,居然天上客”;心清可品茶,茶品可清心。而在英语中,回文是一种英语修辞手法。英语中最著名的一个回文,是拿破仑被流放到Elba岛时说的一句话:Able was I ere I saw Elba(在我看到Elba岛之前,我曾所向无敌),这句话不论是从左向右看,还是从右向左看,内容都一样。下面我们就用Python来检测一下,首先需要将英文统一转换为小写,然后再进行判断,否则会影响判断结果。代码如下:
cn='在我看到Elba岛之前,我曾所向无敌'
en = 'Able was I ere I saw Elba'
#转换为小写
en = en.casefold()
#反转字符串
rev_en = reversed(en)
print(cn)
print(en)
print(list(en))
print(list(reversed(en)))
#判断字符串是否为“回文”
if list(en) == list(rev_en):
print('此句是回文!')
else:
print('此句不是回文!')
运行程序,输出结果为:
在我看到Elba岛之前,我曾所向无敌
able was i ere i saw elba
['a', 'b', 'l', 'e', ' ', 'w', 'a', 's', ' ', 'i', ' ', 'e', 'r', 'e', ' ', 'i', ' ', 's', 'a', 'w', ' ', 'e', 'l', 'b', 'a']
['a', 'b', 'l', 'e', ' ', 'w', 'a', 's', ' ', 'i', ' ', 'e', 'r', 'e', ' ', 'i', ' ', 's', 'a', 'w', ' ', 'e', 'l', 'b', 'a']
此句是回文!
还有一句是关于巴拿马运河的:A man, a plan, a canal, Panama,判断该句应不仅要转换为小写,还要去标点符号、去空格,感兴趣的读者可自行尝试。
锦囊4 判断小写字母在所在字符串中出现的次数
首先将字符串中的英文字母转换为小写,然后进行统计,代码如下:
import string
#26个小写英文字母
chars = string. ascii_lowercase
print('26个小写英文字母:',chars)
str = 'WWW.mingrisoft.COM mingribook.Com mrbccd.Com'
print('原字符串:',str)
str = str.casefold()
c = {}.fromkeys(chars,0)
#统计小写字母出现的次数
for char in str:
if char in c:
c[char] += 1
print(c)
运行程序,输出结果为:
26个小写英文字母: abcdefghijklmnopqrstuvwxyz
原字符串: WWW.mingrisoft.COM mingribook.Com mrbccd.Com
{'a': 0, 'b': 2, 'c': 5, 'd': 1, 'e': 0, 'f': 1, 'g': 2, 'h': 0, 'i': 4, 'j': 0, 'k': 1, 'l': 0, 'm': 6, 'n': 2, 'o': 6, 'p': 0, 'q': 0, 'r': 3, 's': 1, 't': 1, 'u': 0, 'v': 0, 'w': 3, 'x': 0, 'y': 0, 'z': 0}