python字符串(str)

str:

调用字符串的方法不会改变字符串本身,所以他是不可变量

用途:记录文字类描述性信息

定义方式:

1:(单引号):

'这是字符串'

2:(双引号):

"这是双引号字符串"

3:(三引号):(三个单引号或者三个双引号都可以,)

'''这
是
字符串'''

4:

s1 = str([1,2,3]) #将列表转换成字符串

print(type(s1))
>>> <class 'str'>

 

1:索引:

按索引值索取:

索引值是从0开始,从左往右

当然,还有反向的:

s2 = 'hello'
print(s2[1])
print(s2[-2])

>>> h l

 


2:切片:

(顾头不顾尾),从一串大字符串中获取一段字符串:

[a:b:c] #a是起始位置,默认是最开头,b是结束位置+1,默认是最后一位,c是步长默认是1

s2 = 'Hello,friend'

print(s2[0:5])
print(s2[::]) #如果什么都不是输入就会默认在第一个和最后一个,
print(s2[0:7:2]) #步长设置为2,每获取一个就跳过一个
print(s2[7:0:-1]) #反正过来切片


>>>
Hello,
Hello,friend
Hlofi
rf,olle

 


3:统计长度:

len() #这个方法可以统计数据有多少个元素,但是在字符串中却是统计字符串有多少个字符(空格,标点符号也算字符)

例:

s2 = 'Hello,friend'
print(len(s2)
>>> 12

 

 


4:循环

#因为字符串是有序列的所以可以被for循环,循环是通过字符串中的字符长度,

 

s2 = 'what?'
for i in s2
print (i)

>>>
w
h
a
t
?

 


 

5:常用方法

 1 .strip()    #去除字符串两边的空格(默认),可以指定去除的字符
 2     s = '   Hello  ,  '
 3     print(a.strip())
 4     >>>
 5     Hello,
 6     =============
 7     s = '  a bc cd Ea'        #也可以删除多个字符,不同的字符中间用空格隔开,
 8     x = s.strip('a' ' ')
 9     print(x)
10     >>>
11     bc cd E
12     
13     .strip()        #和.strip()相同,不过只会删除左边的
14     .rstrip()        #和.strip()相同,不过只会删除右边的
15 
16 .split('*1'[,*2])        #将字符串按照'*'进行分割,它会把字符串分割成一个列表,被分割的字符会消失,[可选项:可以指定分割几(*2)次,不输入就是全部分割]
17     s = 'helloxclyxagex17'
18     print(s.split('x',2))
19     >>>
20     ['hello', 'cly', 'agex17']
21     
22     .rsplit()        #和.split()一样的效果,只不过是从右边开始
23 
24 '*'.join(*)                #将可迭代的对象(*)通过'*'进行拼接
25     s = ['qwe','rts']
26     s = '_'.join(s)
27     print(s)
28     print(s.split('_'))
29     >>>
30     qwe_rts
31     ['qwe', 'rts']
32     
33 .lower()        #将字符串的英文全部小写
34 .upper()        #将字符串的英文全部大写
35 
36 .startswith('*')        #判断字符串是不是以*开头
37 .endswith('*')        #判断字符串是不是以*结束
38 
39 .format()            #字符串格式化
40     将一个字符串中的占位符替换为指定的值,也可填写数字,但必须从0开始,不可以一边用数字一边用字符(如果要传列表,必须要加*号(1个星号),如果要传字典,必须要加**号(两个星号)
41     
42     a = 'i am {name}'
43     b = a.format(name='cly')
44     print(a)
45     print(b)
46     >>>
47     i am {name}
48     i am cly
49     ----------------------
50     a = 'i am {0},age = {1}'
51     b =a.format('cly','17')
52     print(a)
53     print(b)
54     >>>
55     i am {0},age = {1}
56     i am cly,age = 17
57     ----------------------
58     a = 'i am {name},age = {age}'
59     b =a.format(**{'name'='cly','age'='17'})
60     print(a)
61     print(b)
62     >>>
63     i am {0},age = {1}
64     i am cly,age = 17
65     
66     .replace('*2','*3'[,*3])    #将字符串中的'*2'替换为'*3',[可选项:替换的个数]
67     .isdigit()            #查看字符串是不是纯数字
68     
69     .find('*')            #查看字符串'*'的索引值,找不到就输出-1,不报错
70         .rfind('*')        #同find,不过是从右边开始索引
71     .index('*')            #查看字符串的索引值,找不到就直接报错
72         .rindex('*')        #同index,不过是从右边开始索引
73     .cont('*')            #查看字符'*'在字符串中出现的次数
原文地址:https://www.cnblogs.com/pscly/p/11128728.html