一、str的定义:Python中凡是用引号引起来的数据可以称为字符串类型,组成字符串的每个元素称之为字符,将这些字符一个一个连接起来,然后在用引号起来就是字符串。
二、str的简单操作方法:
conut(数)
split(以...分割)
foemat(格式化输出)
replace(元素替换)
startswith(判断是以...开头,返回bool)
endswith(判断是以...结尾,返回bool)
strip(去除首尾字符)
lstrip(去除首字符)
rstrip(去除尾字符)
a = 'Aab123Dd4Aa'
#conut(数)startswith(判断是以...开头) endswith(判断是以...结尾)
print(a.count("b", 1, 4)) #1
print(a.startswith("a", 1, 4)) #True
print(a.endswith("1", 1, 4)) #True
#split(以...分割)
print('title,Tilte,atre,'.split('i')) #['t', 'tle,T', 'lte,atre,']
print('title,Tilte,atre,'.split('t', 2)) #['', 'i', 'le,Tilte,atre,']
#format 格式化输出
print('{} {} {}'.format('egon', 18, 'male')) #egon 18 male
print('{1} {0} {1}'.format('egon', 18, 'male')) #18 egon 18
print('{name} {age} {sex}'.format(sex='male', name='egon', age=18)) #egon 18 male
#strip 去除首尾字符
name = '*bar*ry**'
print(name.strip('*')) #bar*ry
print(name.lstrip('*')) #bar*ry**
print(name.rstrip('*')) #*bar*ry
#replace 元素替换
name = 'alex say :my name is alex'
print(name.replace('alex', '替换', 1)) #替换 say :my name is alex
View Code
find(返回元素索引,找不到则返回-1)
index(返回元素索引,找不到则报错)
capitalize(首字母大写)
swapcase(大小写反转)
title(每个单词首字母大写)
a = 'Aab123Dd4Aa'
#find 返回索引,找不到返回-1
print(a.find("2", 1, 7)) #4#index 返回索引,找不到则报错
print(a.index("D", 1, 7)) #6
#capitalize swapcase title
b = 'alex,Taibai jinxiN'
print(b.capitalize()) #Alex,taibai jinxin
print(b.swapcase()) #ALEX,tAIBAI JINXIn
print(b.title()) #Alex,Taibai Jinxin
#center
c = 'asfht'
print(c.center(10, '*')) #**asfht***
View Code
is系列
str.isalnum(是否由字母和数字组成)
str.isdigit(是否只由数字组成)
str.isalpha(是否只由字母组成)
str.isupper(是否只由大写字母组成)
str.islower(是否只由小写字母组成)
str.istitle(单词首字母是否为大写)
str.isspace(是否只由空格组成)
str.isnumeric(是否只由数字组成,只针对unicode对象)
str.isdecimal(是否只由十进制组成)
d = 'tai Tbai123'
print(d.isalnum()) #检测字符串是否由字母和数字组成
print(d.isdigit()) #是否只由数字组成
print(d.isalpha()) #是否只由字母组成
print(d.isupper()) #是否只由大写字母组成
print(d.islower()) #是否只由小写字母组成
print(d.istitle()) #单词首字母是否为大写
print(d.isspace()) #是否只由空格组成
print(d.isnumeric()) #是否只由数字组成,只针对unicode对象
print(d.isdecimal()) #是否只由十进制组成
View Code
小练习:如果用户输入一段包含字母数字的str,怎么计算str中数字之和?(将相邻的数字看作一个整体)
如,输入:se123reg4rtey54 ,则计算123+4+54的结果
print('---用户输入字母数字串,计算所包含的数字之和---')
a= input('输入字母或数字:')for i ina:ifi.isalpha():
a= a.replace(i, ' ')
get_list=(a.split())
list=[]for f inget_list:
list.append(int(f))
sum=sum(list)print(sum)
View Code