一:字符串做为有序数据类型,有以下操作方法:

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     用来判断字符串中是否有特殊字符。