字符串

Python publisher01 23℃

1、定义

字符串:在python中是作为序列存在的,序列中的元素具有从左到右的顺序,并根据他们的相对位置进行读取和储存。严格意义来说,字符串是一系列单个字符组成的序列,其他类型的序列还包括列表和元组。在一串字符两侧加上双引号或者单引号即可创建字符串。

注意:如果字符串中需要出现双引号或者单引号,则有两种方法。
1)使用转义字符(\)进行转义。
2)将双引号和单引号配合使用,即若向想打印单引号,可以使用双引号表示字符串,在字符串中只用一个单引号。反之亦然。

2、原始字符串

在一个字符串前面加上r;则会自动为字符串中的反斜杠\转义,使其只代表一个反斜杠\。但是注意,原始字符串最后不能有反斜杠\,否则会发生语法错误。如果非要在原始字符串最后加上,则可以写为\。

str = r'p\yt\h\o\n' 
print(str)
str = r'p\yt\h\on\\' 
print(str)

运行结果为:

p\yt\h\o\n
p\yt\h\on\

3、多行字符串

有时我们需要创建一个跨行的字符串,则可以使用三引号来创建。

str = """床前明月光
疑是地上霜
举头望明月
低头思故乡""" 
print(str) 

运行结果为

床前明月光
疑是地上霜
举头望明月
低头思故乡

4、字符串的操作

1)可以通过len()函数得到序列的长度。

str = 'python'
print(len(str))

运行结果为:

6

2)可以通过索引操作得到序列的各个元素值。python中序列的索引是从0开始依次向后推移。

print(str[3])

运行结果为:

h

3)python还支持反向索引,是从最后一个向前推移的。-1是指序列中的最后一个元素值,-len(str)是指该序列的第一个元素值。

print(str[-1])
print(str[-6])

运行结果为:

n
p

4)序列还支持一种分片(slice)的操作,这是一种能够一步提取整个分片的方法。
分片可以看作是字符串中一部提取出其中一部分的方法。其一般形式为:X[I:J],表示从X序列中取出第I个元素到不包含第J个元素的部分,结果为返回一个新的对象。

print(str[1:3])

运行结果为:

py

在一个分片(slice)中,左边界默认为0。同时应注意负偏移量在分片中的边界,也应为左侧数字比右侧数字小。拷贝全部字符串的用法为str[:]。

print(str[:3])
print(str[:])

运行结果为:

pyt
python

5)作为一个序列,字符串还支持用“+”来合并字符串。

str = 'pyt' + 'hon'
print(str)

运行结果为:

python

6)不可变性,python中字符串具有不可变性,在创建一个字符串之后不可以通过对其某一位置进行赋值而改变该字符串,但可以通过创建一个新的字符串并以同一个变量名命名。

str = 'python'
str[1] = 'z'

运行结果为:

Traceback (most recent call last):
  File "E:/Python/test/test2.py", line 2, in <module>
    str[1] = 'z'
TypeError: 'str' object does not support item assignment

7)除了一般的序列操作,字符串还有一些其特有的操作方法。
如find()方法,可以用于查找一个子字符串,可以返回该子字符串的索引值。但如果存在多个符合的子字符串,只会返回第一个索引值。如果不存在该子字符串,则返回-1。replace(S1,S2)方法会将字符串中的S1替换为S2。

str = 'python'
str.find('t')
str.replace('t','py')

运行结果如下:

2
pypyhon

关于字符串,python还有许多内置函数,可以通过调用dir()函数来查看。

转载请注明:Python量化投资 » 字符串

喜欢 (0)or分享 (0)