Python的字符串以及关于字符串的常用函数(day04)

一、字符串常用操作

使用单引号或者双引号括起来的任意字符串,都可称它为字符串。
一、字符串的拼接
1.使用“+”来进行拼接

str3 = str1 + str2

注意:不同类型不能使用加号进行拼接
2.使用“,”来进行拼接

print(str1,str2)

注意:会在逗号的位置产生一个空格
3.使用"%"来进行拼接,使用格式化的方式

print("%s%s"%(str1,str2))

4.使用"{},{}".format()来进行拼接

5.使用join函数来进行拼接

"".join(序列)

注意:序列中的元素必须是字符串

二、字符的重复输出

str1*n

功能:将str1重复n次输出

三、获取字符串的长度

len(str1)

四、访问字符串中的字符
使用索引【下标】的方式实现

str1[index]

index索引值/下标值 取值范围[0,len(str1))
索引值/下标值 从0开始数
索引值还可以为负,可以从-1开始,-1代表倒数第一个字符

五、字符串的截取

str1[start:stop:step]

参数一:从start开始取 默认0
参数二:到stop结束, stop取不到,默认len(str1)
参数三:步长 默认1 可以为负

判断是否包含指定的字符

字符 in 字符串

若字符串中包含指定的字符则返回True,否则返回False

二、字符串的常用函数

eval(str1)

功能:将str1转为一个有效的表达式并且返回计算的结果

a1 = "1,2,3,4"
print(type(a1))    # <class 'str'>
b1 = eval(a1)
print(type(b1))    # <class 'tuple'>

a2 = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"
print(type(a2))    # <class 'str'>
b2 = eval(a2)
print(type(b2))    # <class 'list'>

str(x)

功能:可以将x【number,bool,list,tuple,set,dict】转为字符串

a = 1
print(type(a))    # <class 'int'>
b = str(a)
print(type(b))    # <class 'str'>

str1.lower()

功能:将字符串中大写字母转为小写字母,并且返回一个新的字符串

a = "Aa,Bb,Cc,Dd"
print(a.lower())    #aa,bb,cc,dd

str1.upper()

功能:将字符串中的小写字母转为大写字母,并且返回一个新的字符串

a = "Aa,Bb,Cc,Dd"
print(a.upper())    # AA,BB,CC,DD

str1.swapcase()

功能:将字符串中的大写字母转为小写字母,将小写字母转为大写字母
并且返回一个新的字符串

a = "Aa,Bb,Cc,Dd"
print(a.swapcase())    # aA,bB,cC,dD

str1.capitalize()

功能:返回一个首字母大写其他字母都小写的字符串。

a = "Aa,Bb,Cc,Dd"
print(a.capitalize())    # Aa,bb,cc,dd

str1.title()

功能:返回一个标题化的字符,每个单词的首字母都大写,其他字母小写。

a = "aa,bb,cc,dd"
print(a.title())    # Aa,Bb,Cc,Dd

str1.center(width,fillchar)

功能:返回一个以width为宽度,str1居中的,使用fillchar填充的字符串。

print("Python".center(30," "))    #             Python            
print("Python".center(30,"*"))    # ************Python************

str1.ljust(width,fillchar)

功能:返回一个以width为宽度,str1居左的,使用fillchar填充的字符串。

print("Pyhotn".ljust(30,"*"))    # Pyhotn************************

str1.rjust(width,fillchar)

功能:返回一个以width为宽度,str1居右的,使用fillchar填充的字符串。

print("Pyhotn".rjust(30,"*"))    # ************************Pyhotn

str1.zfill(width)

功能:返回一个以width为宽度,str1居右的,使用0填充的字符串。

print("Pyhotn".zfill(30))    # 000000000000000000000000Pyhotn

str1.count(sub,start,end)

功能:统计sub在str1中出现的次数,若不指定start与end则默认统计整个字符串
若指定start与end,则统计的范围[start,end)

str1 = "abc,abc,abc,bcd,cde,def"
print(str1.count("b")    # 4

str1.find(sub,start,end)

功能:从左往右在str1中查找sub是否存在,若存在则返回第一匹配到的下标值,若不存在则返回-1
注意:若指定start与end,则在[start,end)范围内查询,若不指定则查询整个字符串。

str1 = "abc,abc,abc,bcd,cde,def"
print(str1.find("d"))    # 14
print(str1.find("w"))    # -1

str1.rfind(sub,start,end)

功能:从右往左在str1中查找sub是否存在,若存在则返回第一匹配到的下标值,若不存在则返回-1
注意:若指定start与end,则在[start,end)范围内查询,若不指定则查询整个字符串。

str1 = "abc,abc,abc,bcd,cde,def"
print(str1.rfind("d"))    # 20
print(str1.rfind("w"))    # -1

str1.index(sub,start,end)

功能:从左往右在str1中查找sub是否存在,若存在则返回第一匹配到的下标值,若不存在则报错
注意:若指定start与end,则在[start,end)范围内查询,若不指定则查询整个字符串。

str1 = "abc,abc,abc,bcd,cde,def"
print(str1.index("c"))    # 2

str1.rindex(sub,start,end)

功能:从右往左在str1中查找sub是否存在,若存在则返回第一匹配到的下标值,若不存在则报错
注意:若指定start与end,则在[start,end)范围内查询,若不指定则查询整个字符串。

str1 = "abc,abc,abc,bcd,cde,def"
print(str1.rindex("c"))    # 16

str1.strip(chars)

功能:去除str1左右两边的指定chars,若chars不给,默认去除空白符[\r\n\f\t ]

str1 = "aaabc,abc,abc,bcd,cdeaaa"
print(str1.strip("a"))    # bc,abc,abc,bcd,cde

str1.lstrip(chars)

功能:去除str1左边的指定chars,若chars不给,默认去除空白符[\r\n\f\t ]

str1 = "aaabc,abc,abc,bcd,cdeaaa"
print(str1.lstrip("a"))    # bc,abc,abc,bcd,cdeaaa

str1.rstrip(chars)

功能:去除str1右边的指定chars,若chars不给,默认去除空白符[\r\n\f\t ]

str1 = "aaabc,abc,abc,bcd,cdeaaa"
print(str1.rstrip("a"))    # aaabc,abc,abc,bcd,cde

str1.split(seq,maxsplit)

功能:从左往右使用指定的seq对str1进行切割处理,若不指定seq则默认使用空白符来进行切分,
若不指定maxsplit默认全部切分。切分的结果以列表的形式返回。

str1 = "abc,abc,abc,bcd,cde"
print(str1.split(","))    # ['abc', 'abc', 'abc', 'bcd', 'cde']
print(str1.split(",",2))    # ['abc', 'abc', 'abc,bcd,cde']

str1.rsplit(seq,maxsplit)

功能:从右往左使用指定的seq对str1进行切割处理,若不指定seq则默认使用空白符来进行切分,
若不指定maxsplit默认全部切分。切分的结果以列表的形式返回。

str1 = "abc,abc,abc,bcd,cde"
print(str1.rsplit(","))    # ['abc', 'abc', 'abc', 'bcd', 'cde']
print(str1.rsplit(",",2))    # ['abc,abc,abc', 'bcd', 'cde']

str1.splitlines(keepend=False)

功能:将str1按行切片,并且将切片的结果作为一个列表返回。keepend默认为False,
当keepend为True的时候,显示切片的字符【\n】

str1 = """AAA
BBB
CCC
"""
print(str1.splitlines())    # ['AAA', 'BBB', 'CCC']
print(str1.splitlines(keepends=True))    # ['AAA\n', 'BBB\n', 'CCC\n']

str1.join(序列)

功能:将序列中的字符串以指定的str1进行拼接,并将拼接好的字符串返回。

str1 = "aa","bb","cc"
str2 = ";"
str3 = str2.join(str1)
str4 = "$".join(str1)
print(str3)    # aa;bb;cc
print(str4)    # aa$bb$cc

min(str1)

功能:返回str1中的最小字符【比较的是ASCII码值】

str1 = "aa","bb","cc"
print(min(str1))    # "aa"

max(str1)

功能:返回str1中的最大字符【比较的是ASCII码值】

str1 = "aa","bb","cc"
print(min(str1))    # "cc"

str1.replace(old,new,count)

参数一:被替换的字符串
参数二:新的字符串
参数三:替换的次数,若不指定默认全部替换
功能:使用new将str1中old字符串进行替换,若指定count则替换前count个,若不指定count,则全部替换。

str1 = "abc,cad,cad,cba"
print(str1.replace("a","A"))    # Abc,cAd,cAd,cbA
print(str1.replace("a","A",2))    # Abc,cAd,cad,cba

判断字符串是否以xx开头

str1.startswith("xx"[,start][,end])

若是以xx开头则返回True,否则返回False,若指定范围,则取值范围为[start,end),
若不指定范围,则默认整个字符串

str1 = "abc,cad,cad,cba"
print(str1.startswith("abc"))    # True
print(str1.startswith("abc",0,2))    # False

判断字符串是否以xx结尾

str1.endswith("xx")

若是以xx结尾则返回True,否则返回False,若指定范围,则取值范围为[start,end),
若不指定范围,则默认整个字符串

str1 = "abc,cad,cad,cba"
print(str1.endswith("cba"))    # True

str1.encode()

将普通字符串转为二进制

str1 = "abc,ABC,123,中国"
print(str1.encode())    # b'abc,ABC,\xe4\xb8\xad\xe5\x9b\xbd,123'

str2.decode()

将二进制字符串转为普通字符串

str1 = (b'\xe4\xb8\xad\xe5\x9b\xbd')
print(str1.decode("utf-8"))

注意:编码的格式与解码的格式必须保持一致


str1.isalpha()

功能:判断str1是否为纯字母,若是则返回True,否则返回False。
注意:此功能没有考虑中文,中文默认也是字母

str1 = "123abc"
str2 = "abc中国"
str3 = "@abc"
print(str1.isalpha())    # False
print(str2.isalpha())    # True
print(str3.isalpha())    # False

str1.isalnum()

功能:判断str1是否由数字与字母组成,若是则返回True,否则返回False。
注意:此功能没有考虑中文,中文默认也是字母

str1 = "123abc"
str2 = "abc中国"
str3 = "@abc"
print(str1.isalnum())    # True
print(str2.isalnum())    # True
print(str3.isalnum())    # False

str1.isupper()

功能:判断str1中出现的字母是否全部为大写,若是则返回True,否则返回False

str1 = "ABC"
str2 = "abc"
str3 = "ABC中国"
print(str1.isupper())    # True
print(str2.isupper())    # False
print(str3.isupper())    # True

str1.islower()

功能:判断str1中出现的字母是否全部为小写,若是则返回True,否则返回False

str1 = "ABC"
str2 = "abc"
str3 = "abc中国"
print(str1.islower())    # False
print(str2.islower())    # True
print(str3.islower())    # True

str1.istitle()

功能:判断str1是否为标题化的字符串,若是则返回True,否则返回False

str1 = "ABC"
str2 = "abc"
str3 = "Abc"
str4 = "中国Abc"
str5 = "Abc中国"
print(str1.istitle())    # False
print(str2.istitle())    # False
print(str3.istitle())    # True
print(str4.istitle())    # True
print(str5.istitle())    # True

str1.isspace()

功能:判断str1中是否只包含空白符,若是则返回True,否则返回False。

str1 = " "
str2 = ""
str3 = "a"
print(str1.isspace())    # True
print(str2.isspace())    # False
print(str3.isspace())    # False

判断字符串中是否全部为数字
str1.isdigit():只能识别阿拉伯数字
str1.isdecimal():只能识别阿拉伯数字
str1.isnumeric():除了阿拉伯数字还可以识别中文的一二三

str1 = "1111"    # 阿拉伯数字
str2 = "一二三"    # 中文数字
str3 = "I"     # 罗马数字

print(str1.isdigit())    # True
print(str2.isdigit())    # False
print(str3.isdigit())    # False

print(str1.isdecimal())    # True
print(str2.isdecimal())    # False
print(str3.isdecimal())    # False

print(str1.isnumeric())    # True
print(str2.isnumeric())    # True
print(str3.isnumeric())    # False
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值