小白的python进阶历程------03.字符串(str)

字符串(str)

1.str的格式

1).基本格式

a = "What hurts more, the pain of hard work or the pain of regret ?"

2).可换行格式:以三个单引号或者双引号开始和结尾,打印的内容格式与输入格式相同。

a = '''
What hurts more,
 the pain of hard work 
 or the pain of regret ?
 '''
b = """
What hurts more,
 the pain of hard work 
 or the pain of regret ?
 """

2.str的拼接

多个字符串之间以“+”进行拼接,得到一个新的字符串;使用“,”时,得到的是多个字符串。

name = "chen"
address =  "Shanghai"
job = "IT"
a = ("Name:" + name  + ",Address:" + address + ",Job:" + job)
print(a,type(a))

3.str中元素及切片

1).查找str中的元素(str[0:-1]):从字符串的左边起,索引位置为0,反之从右边起,索引位置为-1。

str = "abcdefg1234567"
print(str[0])
print(str[-1])

2).str的切片str(str[start:end:step]):其中分别代表起始位置,终止位置,以及步长,特点是含头不含尾即[start:end)

str = "abcdefg1234567"
print(str[2:5])                                            #结果为cde
print(str[5:2:-1])                                        #结果为fed
prent(str[2:5:2]) #结果为ce

3).str的长度

print(len(str))

4.str的相关函数

str  = "my name is {name},\t,My age is 23,My job is {job}"
print(str.capitalize())                         #首字母大写,其他字母小写。
#打印结果为:My name is {name},    ,my age is 23,my job is {job}

print(str.count("p")) #统计字符串中某个元素出现的次数。 #打印结果为:0
print(str.center(60,"-")) #共打印给定字符数(50),不足的以给定元素(“-”)补齐。 #打印结果为:------my name is {name}, ,My age is 23,My job is {job}------
print(str.encode()) #将str类型转换为byte类型。 #打印结果为:b'my name is {name},\t\xef\xbc\x8cMy age is 23,My job is {job}'
print(str.endswith("on")) #判断字符串是否以给定元素(“on”)结尾。 #打印结果为:False
print(str.startswith("my")) #判断字符串是否是以指定字符串开头并返回布尔值,并可以指定范围。 #打印结果为:Ture
print(str.expandtabs(tabsize=20)) #把字符串中的“\t”转为空格,并返回替换空格后的字符串。(\t默认的空格数是 8)。 #打印结果为:my name is {name}, ,My age is 23,My job is {job}
print(str.find("i")) #查找并返回指定str的索引位置,如果没找到则返回:-1。 #打印结果为:8
print(str.rfind("t")) #反向查找并返回指定str的索引位置,如果没找到则返回:-1。 #打印结果为:-1
print(str.format(name="jack",job="IT")) #格式化传值。 #打印结果为:my name is jack, ,My age is 23,My job is IT map_dict = {"name":"jack","job":"IT"}
print(str.format_map(map_dict)) #与format不同的是括号中的mapping是一个字典对象,返回格式化后的字符串。 #打印结果为:my name is jack, ,My age is 23,My job is IT
print(str.index("i")) #查找并返回指定str的索引位置,如有多个只返回第一个的位置。 #打印结果为:8
print(str.rindex("i")) #反向查找并返回指定str的索引位置,如有多个只返回第一个的位置。 #打印结果为:40
print(str.isdigit()) #判断字符串是否只由数字组成,并返回一个布尔值。 #打印结果为:F
print(str.isalnum()) #判断字符串是否只由字母或数字组成,并返回一个布尔值。 #打印结果为:F
print(str.isalpha()) #判断字符串是否只由字母组成,并返回一个布尔值。 #打印结果为:F
print(str.isdecimal()) #判断字符串是否只包含十进制字符,只针对unicode对象,并返回一个布尔值。 #打印结果为:F
print(str.isidentifier()) #判断是否为合法标识符,实际上是判断变量名是否合法,并返回一个布尔值。 #打印结果为:F
print(str.islower()) #判断字符串中所有的字母是否为小写,并返回一个布尔值。 #打印结果为:F
print(str.isnumeric()) #判断字符串是否只由数字组成,只针对unicode对象,并返回一个布尔值。 #打印结果为:F
print(str.isprintable()) #判断字符串中的所有字符都是否为可打印的(或字符串为空)的则返回True,否则返回False。 #打印结果为:F
print(str.isspace()) #判断字符串是否只由空白字符组成,并返回一个布尔值。 #打印结果为:F
print(str.istitle()) #判断字符串中所有的单词的首字母是否为大写且其他字母为小写。并返回一个布尔值。 #打印结果为:F
print(str.isupper()) #判断字符串中所有的字母是否为大写。并返回一个布尔值。 #打印结果为:F
print("+".join(["1","2","3"])) #将序列中的元素以指定的字符拼接生成一个新的字符串,并返回这个字符串。 #打印结果为:1+2+3

print
(str.ljust(60,"*")) #字符串左对齐,打印给定字符数(50),不足的以给定元素(“*”)补齐。 #打印结果为:my name is {name}, ,My age is 23,My job is {job}************
print(str.rjust(60,"-")) #字符串由对齐,打印给定字符数(50),不足的以给定元素(“-”)补齐。 #打印结果为:my name is {name}, ,My age is 23,My job is {job}************
print(str.lower()) #将字符串中的大写字母转换成小写字母。 #打印结果为:my name is {name}, ,my age is 23,my job is {job}
print("**name**".strip("*")) #移除字符串两侧指定的字符,括号内不指定字符串默认移除空格。 #打印结果为:name
print("**name**".rstrip("*")) #移除字符串右侧指定的字符,括号内不指定字符串默认移除空格。 #打印结果为:**name
print("**name**".lstrip("*")) #移除字符串左侧指定的字符,括号内不指定字符串默认移除空格。 #打印结果为:name**
p = str.maketrans("amhfk","12345") #后一组值最为前一组值的映射,调用前一组的元素时,自动转换成后一组相应的元素。
print("my name".translate(p)) #配合maketrans使用,过滤掉映射前的值,转换为映射后的值。 #打印结果为:2y n12e
print(str.partition("i")) #对字符串进行分割,返回一个包含3个元素的元组,3个元素分别为:指定分割符,以及以这个分隔符为中心的左右两侧的字符串。 #打印结果为:('my name ', 'i', 's {name},\t,My age is 23,My job is {job}')
print(str.rpartition("i")) #反向对字符串进行分割,返回一个包含3个元素的元组,3个元素分别为:指定分割符,以及以这个分隔符为中心的左右两侧的字符串。 #打印结果为:('my name is {name},\t,My age is 23,My job ', 'i', 's {job}')
print(str.replace("my","我的",2)) #将指定的字符串替换成新的字符串,并返回替换后的字符串。可以指定替换的次数,若不指定次数则默认替换全部。 #打印结果为:我的 name is {name}, ,My age is 23,My job is {job}
print(str.split("m",1)) #通过指定分隔符按从左到右的顺序对字符串进行切片,并以一个列表的形式返回,默认空格。 #打印结果为:['', 'y name is {name},\t,My age is 23,My job is {job}']
print(str.rsplit("m",1)) #通过指定分隔符按从右到左的顺序对字符串进行切片,并以一个列表的形式返回,默认空格。 #打印结果为:['my name is {na', 'e},\t,My age is 23,My job is {job}']
print(str.splitlines()) #根据换行符(\n)分割并将元素放入列表中。 #打印结果为:['my name is {name},\t,My age is 23,My job is {job}']
print(str.swapcase()) #将字符串的大小写字母进行转换。 #打印结果为:MY NAME IS {NAME}, ,mY AGE IS 23,mY JOB IS {JOB}
print(str.title()) #将字符串中的所有单词的首字母的替换成大写字母 #打印结果为:My Name Is {Name}, ,My Age Is 23,My Job Is {Job}
print(str.upper()) #将字符串中的小写字母转换成大写字母 #打印结果为:MY NAME IS {NAME}, ,MY AGE IS 23,MY JOB IS {JOB}
print(str.zfill(60)) #按指定长度在字符串的左侧填充"0"补齐 #打印结果为:000000000000my name is {name}, ,My age is 23,My job is {job}

猜你喜欢

转载自www.cnblogs.com/chen-sang-python/p/9642004.html