一:字符串做为有序数据类型,有以下操作方法:
1:下标(索引)
2:切片(包括切割)
3:常见内建函数。
1)索引:一种下标是从0开始。区间:,0=<index<len(str),从左右到读取。
一种是从-1开始。区间是 len(str)=< index=<-1,从右到左读取。
a=‘come‘ print(a[0]) print(a[3]) print(a[-1]) print(a[-4])
如果索引值超出字符串的索引会抛出:IndexError。
2)切片:是字符串的分割获取一组元素的方法。上面的索引只能通过下标获取单个元素。而切片可以获取指定的一组元素。语法:str[start:end:step]默认情况下3个值都可以省略,默认省略步长是1。str[:]表示取字符串所有元素。
str[:end]表示从字符串下标为:字符串开始到end-1的元素输出。
a=‘come‘ print(a[1:]) print(a[1:3]) print(a[:3:2])#表示步长是1,隔一个取一个。 ome om cm
3)字符串是不可变数字类型,可以通过相应的切片获取新的字符串,但是不可以通过del、a[index]=newstr等进行操作。会抛出:TypeError: ‘str‘ object does not support item assignment。
1、判断字符串是否有数字组成(str.isdigit()):
应用场景:在input()函数输入数字的时候默认转换成字符串。可以判断用户输入的是数字还是字母,如果是数字就进行相应的数据类型转换。以便在程序后面进行相应的数字运算的操作。
age=input(‘your age is:‘) if age.isdigit(): age=int(age) print(type(age)) else: print(‘you entre invail !! please entre num!‘) your age is:q you entre invail !! please entre num! your age is:22 <class ‘int‘>
2:去除字符串的空格或者回车(str.strip)
应用场景:当用户通过input()函数输入一个字符串时候,避免用户输入空格或者回车。
age=input(‘your age is:‘) list_1=list(age) age1=age.strip() list_2=list(age1) print(list_1) print(list_2) your age is:33 [‘3‘, ‘3‘, ‘ ‘] [‘3‘, ‘3‘]
3:居中输出字符串:str.entre(num,‘str‘);重复输出字符串:str*num
a=‘welcome‘ print(a.center(40,‘#‘)) ################welcome################# print(‘#‘*30) ##############################
4:字符串的成员操作,in or not in
a=‘adde‘ print(‘a‘ in a)
5:字符串连接+或者join或者 ‘‘join(str)
最好不用连接+,当数据量大量的时候这样会耗费资源。str2=str+str1连接符会在内存空间同时开辟3个空间储存数据。
最好用join
a=‘adde‘ b=‘rrr‘ print(a+b) print(a.join(b)) print(‘*‘.join(a)) adderrr radderadder a*d*d*e
6、str.split(‘符号‘)函数表示以什么字符串来切割。并返回一个列表。有时候进行数据转换的时候常用
a=‘adde,ddd‘ print(a.split(‘,‘)) [‘adde‘, ‘ddd‘
其他常见函数:
1、string.capitalize() 把字符串的第一个字符大写
2、str.find(str)返回指定字符串str所在的字符串的位置。
3、string.isalnum() 如果 string 至少有一个字符并且所有字符都是字母或数字则返
回 True,否则返回 False 用来判断字符串中是否有特殊字符。
原文地址:http://8118556.blog.51cto.com/8108556/1774178