Python-07-数据类型-字符串
继续介绍Python中的数据类型,字符串类型
1、字符串数据类型用途
用来记录名字,地址,等描述型信息
2、定义
在单引号\双引号\三引号内,由一串字符组成
3、常用的字符串操作
(1)移除空白,有些时候,你获得的字符串是客户输入进来的,字符串的两端,会有你不想要的字符,比如空格,可以使用这个方法来去除
strip 去掉两端的无用字符
lstrip 去掉左侧的无用字符
rstrip 去掉右侧的无用字符
例如:
a='22222asdcs222'
b=a.strip('2')
print(a)
print(b)
(2)按索引取值,按照索引值,拿到字符串中的指定字符
a='my name is peter,I AM A student'
print(a[0])
print(a[2:5])
print(a[3:])
print(a[:-4])
print(a[1::2])
注意:中括号内的为取值范围,从0开始取值;取值的时候,前闭后开;再加一个冒号,表示步长,即每N个值取一个。
(3)计算字符串长度
a='my name is peter,I AM A student'
print(len(a))
len()同样可以用于计算列表,字典等数据类型
(4)切分操作,即按照制定的分隔符将字符串分割,分割结果为列表数据类型
a='my name is peter,I AM A student,I love A|B|C'
print(a.split(',')) 引号中可以自定义分隔符,不写默认为空格。
print(a.split(',',1)) 数字表示要分割几次
print(a.rsplit(',')) rsplit表示从右边开始分割
(5)成员运算,in和not in,判断制定的字符串是否包含在要被检查的字符串内,返回为布尔值
a='my name is peter,I AM A student,I love A|B|C'
b='name'
print(b in a)
(6)字母的大小写转换
a='my name is peter,I AM A student,I love A|B|C'
print(a.upper())
print(a.lower())
(7)判断字符串的开头与结尾,返回值为布尔值
a='my name is peter,I AM A student,I love A|B|C'
print(a.startswith('my'))
print(a.endswith('D'))
(8)替换
a='my name is peter,I AM A student,I love A|B|C'
print(a.replace('a','B',1)),将字符串中的'a'换成‘B’,只替换第一个,数字可以自行指定
(9)join,作用是通过指定字符连接序列中元素后生成的新字符串
a=''
b=['hello','world','!'] 列表中的每一项都必须是字符串,这个操作相当于split的反操作
print(a.join(b))
(10)查找操作,在字符串中找某一指定字符
a='my name is peter,I AM A student,I love A|B|C'
print(name.find('o',1,3)) 1,3表示查找范围,可以忽略不写,找到则返回字符的索引,找不到返回-1
(11)查看索引,index
a='my name is peter,I AM A student,I love A|B|C'
print(name.index('o')) 如果找不到‘o’会报错
(12)count,计数
a='my name is peter,I AM A student,I love A|B|C'
print(name.count('a',1,9))
(13)了解类操作
<1>center,ljust,rjust,zfill,查看代码效果,你就知道这是干啥的了
name='peter'
print(name.center(30,'-'))
print(name.ljust(30,'*'))
print(name.rjust(30,'*'))
print(name.zfill(50)) #用0填充
<2>captalize,swapcase,title
a='my name is peter,I AM A student,I love A|B|C'
print(a.capitalize()) #首字母大写
print(a.swapcase()) #大小写翻转
print(a.title()) #每个单词的首字母大写
<3>is 判断系列,判断数字
num1=b'4' #bytes
num2=u'4' #unicode,python3中无需加u就是unicode
num3='四' #中文数字
num4='Ⅳ' #罗马数字
#isdigt:bytes,unicode
print(num1.isdigit()) #True
print(num2.isdigit()) #True
print(num3.isdigit()) #False
print(num4.isdigit()) #False
#isdecimal:uncicode
#bytes类型无isdecimal方法
print(num2.isdecimal()) #True
print(num3.isdecimal()) #False
print(num4.isdecimal()) #False
#isnumberic:unicode,中文数字,罗马数字
#bytes类型无isnumberic方法
print(num2.isnumeric()) #True
print(num3.isnumeric()) #True
print(num4.isnumeric()) #True
#三者不能判断浮点数
num5='4.3'
print(num5.isdigit())
print(num5.isdecimal())
print(num5.isnumeric())
最常用的是isdigit,可以判断bytes和unicode类型,这也是最常见的数字应用场景
如果要判断中文数字或罗马数字,则需要用到isnumeric
<4>is 判断系列,判断其他
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.isidentifier())
print(name.islower())
print(name.isupper())
print(name.isspace())
print(name.istitle())
1、字符串数据类型用途
用来记录名字,地址,等描述型信息
2、定义
在单引号\双引号\三引号内,由一串字符组成
3、常用的字符串操作
(1)移除空白,有些时候,你获得的字符串是客户输入进来的,字符串的两端,会有你不想要的字符,比如空格,可以使用这个方法来去除
strip 去掉两端的无用字符
lstrip 去掉左侧的无用字符
rstrip 去掉右侧的无用字符
例如:
a='22222asdcs222'
b=a.strip('2')
print(a)
print(b)
(2)按索引取值,按照索引值,拿到字符串中的指定字符
a='my name is peter,I AM A student'
print(a[0])
print(a[2:5])
print(a[3:])
print(a[:-4])
print(a[1::2])
注意:中括号内的为取值范围,从0开始取值;取值的时候,前闭后开;再加一个冒号,表示步长,即每N个值取一个。
(3)计算字符串长度
a='my name is peter,I AM A student'
print(len(a))
len()同样可以用于计算列表,字典等数据类型
(4)切分操作,即按照制定的分隔符将字符串分割,分割结果为列表数据类型
a='my name is peter,I AM A student,I love A|B|C'
print(a.split(',')) 引号中可以自定义分隔符,不写默认为空格。
print(a.split(',',1)) 数字表示要分割几次
print(a.rsplit(',')) rsplit表示从右边开始分割
(5)成员运算,in和not in,判断制定的字符串是否包含在要被检查的字符串内,返回为布尔值
a='my name is peter,I AM A student,I love A|B|C'
b='name'
print(b in a)
(6)字母的大小写转换
a='my name is peter,I AM A student,I love A|B|C'
print(a.upper())
print(a.lower())
(7)判断字符串的开头与结尾,返回值为布尔值
a='my name is peter,I AM A student,I love A|B|C'
print(a.startswith('my'))
print(a.endswith('D'))
(8)替换
a='my name is peter,I AM A student,I love A|B|C'
print(a.replace('a','B',1)),将字符串中的'a'换成‘B’,只替换第一个,数字可以自行指定
(9)join,作用是通过指定字符连接序列中元素后生成的新字符串
a=''
b=['hello','world','!'] 列表中的每一项都必须是字符串,这个操作相当于split的反操作
print(a.join(b))
(10)查找操作,在字符串中找某一指定字符
a='my name is peter,I AM A student,I love A|B|C'
print(name.find('o',1,3)) 1,3表示查找范围,可以忽略不写,找到则返回字符的索引,找不到返回-1
(11)查看索引,index
a='my name is peter,I AM A student,I love A|B|C'
print(name.index('o')) 如果找不到‘o’会报错
(12)count,计数
a='my name is peter,I AM A student,I love A|B|C'
print(name.count('a',1,9))
(13)了解类操作
<1>center,ljust,rjust,zfill,查看代码效果,你就知道这是干啥的了
name='peter'
print(name.center(30,'-'))
print(name.ljust(30,'*'))
print(name.rjust(30,'*'))
print(name.zfill(50)) #用0填充
<2>captalize,swapcase,title
a='my name is peter,I AM A student,I love A|B|C'
print(a.capitalize()) #首字母大写
print(a.swapcase()) #大小写翻转
print(a.title()) #每个单词的首字母大写
<3>is 判断系列,判断数字
num1=b'4' #bytes
num2=u'4' #unicode,python3中无需加u就是unicode
num3='四' #中文数字
num4='Ⅳ' #罗马数字
#isdigt:bytes,unicode
print(num1.isdigit()) #True
print(num2.isdigit()) #True
print(num3.isdigit()) #False
print(num4.isdigit()) #False
#isdecimal:uncicode
#bytes类型无isdecimal方法
print(num2.isdecimal()) #True
print(num3.isdecimal()) #False
print(num4.isdecimal()) #False
#isnumberic:unicode,中文数字,罗马数字
#bytes类型无isnumberic方法
print(num2.isnumeric()) #True
print(num3.isnumeric()) #True
print(num4.isnumeric()) #True
#三者不能判断浮点数
num5='4.3'
print(num5.isdigit())
print(num5.isdecimal())
print(num5.isnumeric())
最常用的是isdigit,可以判断bytes和unicode类型,这也是最常见的数字应用场景
如果要判断中文数字或罗马数字,则需要用到isnumeric
<4>is 判断系列,判断其他
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.isidentifier())
print(name.islower())
print(name.isupper())
print(name.isspace())
print(name.istitle())

浙公网安备 33010602011771号