参考文章:
http://c.biancheng.net/view/2174.html
https://www.runoob.com/python3/python3-string.html
https://www.cnblogs.com/diaosir/p/6575891.html
字符串
一、定义
字符串的意思就是“一串字符”,比如“Hello,CXY”是一个字符串,“How are you?”也是一个字符串。
Python 要求字符串必须使用引号括起来,使用单引号也行,使用双引号也行,只要两边的引号能配对即可。
t1 = 'i love Python!'
print(t1, type(t1))
# i love Python! <class 'str'>
t2 = "I love Python!"
print(t2, type(t2))
# I love Python! <class 'str'>
print(5 + 8) # 13
print('5' + '8') # 58
如果字符串内容本身包含了单引号或双引号,此时就需要进行特殊处理:
- 使用不同的引号将字符串括起来。
- 对引号进行转义。
str3 = 'I'm a coder'
此时 Python 会将字符串中的单引号与第一个单引号配对,这样就会把 ‘I’ 当成字符串,而后面的 m a coder’ 就变成了多余的内容,从而导致语法错误。
可改成:
假如字符串内容本身包含双引号,则可使用单引号将字有串括起来:
或者使用转义字符。Python 允许使用反斜线(\)将字符串中的特殊字符进行转义。例如下图:
tips:不要与除号 / 混淆哦~
- python 常用转义字符
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TP31UejRlT5NGVOBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLxQzM2ITOycDM1IDMxkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
原始字符串只需要在字符串前边加一个英文字母 r 即可。
print(r'C:\Program Files\Intel\Wifi\Help')
# C:\Program Files\Intel\Wifi\Help
三引号(’’‘xxx’’'或""“xxx”"")包围的字符完全是字面符号,包围什么就得到什么,包括换行,且不会进行任何转义、替换等。使用这种块字符串的方式,在输入需要换行的字符串时非常方便。
str6 = """aaa
aaa"""
#输出:aaa
#aaa (保持换行)
- Python字符串运算符
- Python字符串格式化
Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。
在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。
print ("我叫 %s 今年 %d 岁!" % ('小明', 10))
#输出结果:我叫 小明 今年 10 岁!
- Python 的字符串内建函数
【Python】 5/17:字符串与序列 【Python】 5/17:字符串与序列 【Python】 5/17:字符串与序列 【Python】 5/17:字符串与序列 【Python】 5/17:字符串与序列 【Python】 5/17:字符串与序列
序列
常见序列类型包括字符串(普通字符串和unicode字符串),列表和元组.所谓序列,即成员有序排列,可通过下标访问。
常用操作:
- 索引
序列中的元素都是有序的、拥有自己编号(从0开始),我们可以通过索引得到序列中对应的元素:
>>> s = 'abcdefg'
>>> s[0]
'a'
>>> s[1]
'b'
>>> s[-1]
'g'
>>> s[::-1]
'gfedcba'
索引也可以为负值,负数索引表示从右往左开始计数,最后一个元素索引为-1,倒数第二为-2,以此类推.
2. 切片(分片)
使用索引可以获取单个元素,使用分片可以获取序列中指定范围内的元素.切片操作符[:]/[::]
obj[start_index:end_index] 表示获取从start_index开始到end_index-1结束所有索引对应的元素
切片中冒号左边索引对应的元素晚于右边索引对应元素出现时,返回结果是[]
>>> l
[1, 2, 3, 4, 5, 6, 7]
>>>
>>> l[0:5]
[1, 2, 3, 4, 5]
>>> l[4:6]
[5, 6]
>>> l[2:2]
[]
>>> l[-3:-1]
[5, 6]
>>> l[-1:-3]
[]
obj[:end_index] 表示获取从0开始到end_index-1结束所有索引对应的元素
obj[start_index:] 表示获取start_index对应的元素以及后面所有的元素
obj[:] 表示获取所有的元素
[start_index:end_index:step] (step>0)表示从start_index索引对应的元素开始每step个元素取出来一个,直到取到end_index对应的元素结束(step默认为1)
>>> ll[0:9:]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> ll[0:9:1]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> ll[0:9:2]
[1, 3, 5, 7, 9]
>>> ll[::4]
[1, 5, 9]
>>> s[::-2]
'geca'
>>>
[start_index:end_index:step] (step<0)表示从右到左反向提取元素,即从start_index索引对应的元素开始反向每step个元素取出来一个,直到取到end_index+1对应的元素结束.
此时start_index对应的元素要晚于end_index对应的元素出现,否则返回[]
>>> ll[0:6:-2]
[]
>>> ll[9:6:-2]
[10, 8]
>>> ll[6:9:-2]
[]
>>> ll[::-1]
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
>>> ll[:2:-3]
[10, 7, 4]
>>> ll[9:2:-1]
[10, 9, 8, 7, 6, 5, 4]