在写文章之前了解一下什么是字符串?
字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[1]=“b”,s[9]=“j”,这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入数组。
官方写的较繁琐,一句话,在python中 “” ‘’ 由单引号,双引号括起来的基本都是字符串,自信点,基本去掉。
了解了字符串,下面我们来了解一下字符串需要进行一些操作而衍生出来的一些方法
字符串的大小写转换 upper、lower、title
1.1、小写变大写
# TODO 鸟欲高飞,必先展翅 # TODO 向前的人 :Jhon # TODO lower upper 大小写转换 text="my name is tsw" b=text.upper() #小写变大写 print(b)
结果:
MY NAME IS TSW
就是将所有的小写字符串变成大写的,需要注意的是,这是将一串字符串全部由小写变为大写
那当字符串有大写的字母是会不会变大写呢?
text="My NAME is Tsw" b=text.upper() #小写变大写 print(b)
结果:
MY NAME IS TSW
所以我们得出结论,无论是大写还是小写,upper()都能把字母变成大写
1.2、 小写转换 lower
# TODO lower upper 大小写转换 text="My NAME is Tsw" c=text.lower() print(c)
结果:
my name is tsw
就是将大写变小写,如果本来就是小写还是会转换一下去覆盖之前的小写
除此之外有没有字符串中首字母大写呢,结果当然是肯定的
1.3、字符串中首字母大写 title
text="my name is tsw" a=text.title() print(a)
结果:
My Name Is Tsw
我们可以发现title将原来的字符串首字母大写了,嗯嗯~~,可以这样理解,就相当于字符串中单词,title指文章标题,就相当于字符串的首字母。如果实在无法理解就背下来,一回生,二回熟。
2 、swapcase() 不区分大小写
info_one = 'Python Code Is Good' info_two = 'PYTHON DJANGO FLASK' info_three = 'python web so easy' print(info_one.swapcase()) print(info_two.swapcase()) print(info_three.swapcase())
结果:
pYTHON cODE iS gOOD python django flask PYTHON WEB SO EASY
在进行项目是会进行判断操作,例如在询问你是否确定的Y和y,难道真的要强制要求输入的是Y还是y吗,这样未免也太不友好了吧。所以为了用户的体验。
大写便小写,小写变大写
import random a=random.randint(1,100) num=1 while num: number=int(input("请输入一个整数:")) if number==a: print("猜对了,烟花走起") elif number>a: print("猜大了") else: print("猜小了") num+=1 if num ==3: s=input("请输入需要输入的选项,y表示继续游戏,n表示停止游戏") num=1 if s=="y": continue else: break
结果:import randoma=random.randint(1,100)
指 导入random包,random.randint(1,100)指在1~100之间随机生成一个数
好了,问题来了像上面那个想再次游戏必须要输入指定的小写y或者n才可以吗,这样是不是对玩家太不友好了。
加入upper()修改一番
import random a=random.randint(1,100) num=1 while num: number=int(input("请输入一个整数:")) if number==a: print("猜对了,烟花走起") elif number>a: print("猜大了") else: print("猜小了") num+=1 if num ==3: s=input("请输入需要输入的选项,y表示继续游戏,n表示停止游戏") num=1 if s.upper()=="y": continue else: break
结果:可以发现,大小写都能使用了。体验感这波给满分,想要体验感更好可以设置为 0 或 其他。当设置的条件是y时,就要使用lower(),而不是upper()了。
3.endswitch() 尾端匹配 startswith()首端匹配简而言之就是匹配字符串的最后一个字符
3.1、endswitch() 尾端匹配
address=input("请输入你的地址:") if address.endswith("村"): print("农业户口") else: print("非农业户口")
结果:
请输入你的地址:上海市信息公园村 农业户口
我们可以发现输入的字符串是 上海市信息公园村 ,因为最后一个字符串是村,所以匹配为农业户口
3.2、startswith()首端匹配
根据地址判断你是哪里的人口
# TODO startswith() adress=input("请输入你的家庭住址:") if adress.startswith("上海"): print("上海人") elif adress.startswith("北京"): print("北京人") else: print("其他人")
结果:
请输入你的家庭住址:上海市浦东新区 上海人
输入地址上海市浦东新区,根据首字符上海判断你是上海人
不管是endswitch()还是startswith()都是对字符串的首尾端进行匹配,可以匹配一个或者多个字符