Python 字符串

字符串

字符串是一组不可修改的序列,通常用单引号''或者双引号""包围组成。

# 字符串的表示
name = 'Joe'
name = "Joe"

转译字符

在字符串里边,一些字符有隐藏的功能,可以用\这个符号召唤。

>>> print('a\nb') # \n 换行 | windows系统换行是 \r\n
a
b

>>> print('a\tb') # \t 制表符
a	b 

>>> print('\\') # \ 本身也要转译
\

>>> print('\'\"') # 单引号双引号也需要转译
'"

格式化

格式化是常见的字符串拼装形式。使用格式'占位符1 占位符2' % (字符串1, 字符串2)

# 占位符
# %d 整数
# %f 浮点数
# %x 十六进制
# %s 字符串 | 如果不想那么严谨,所有类型都能有 %s 表示

>>> print('hello %s' % 'word')
hello world

>>> print('%s %s' % ('hello', 'world'))
hello world

字符合并

>>> 'a' + 'b'
ab 

切片

切片是Python赋予序列的独特能力,我们前面说过,字符串是一组不可修改的序列

# 序列
# 'abcde'
# '01234'

# 按照这个序列索引取值的行为,就是切片。
>>> 'abcde'[0]
'a'
>>> 'abcde'[1:3]
'bc'

# 不可变性质
>>> 'abc'[0] = 'b' # (不能直接修改字符串的值)
"TypeError: 'str' object does not support item assignment"

字符串操作

比较常用的一些。

# 长度
>>> len('abc')
3

# 分解
>>> 'a,b,c'.split(',') # (当你需要把字符串变成列表的时候)
['a', 'b', 'c']

# 连接
>>> ','.join('abc') 
'a,b,c'

# 首字母大写
>>> 'abc'.capitalize()
Abc

# 大写
>>> 'abc'.upper()
ABC

# 小写
>>> 'ABC'.lower()
abc

# 大小写转换
>>> 'AbC'.swapcase()
aBc

# 检测开头字符
>>> 'abc'.startswith('a')
True

# 检测结尾字符
>>> 'abc'.endswith('a')
False

# 字符首次出现的位置 (序列索引,从0开始)
>>> 'cc'.find('c')
0

# 字符最后出现的位置
>>> 'cc'.rfind('c')
1

# 次数
>>> 'cc'.count('c')
2

# 替换
>>> 'a'.replace('a','b',100) # 把a替换成b,第三个参数100指:最多替换100个a
b

再说不可变

name = 'Joe'
name.replace('oe', 'ason') # 把 Joe 替换成Jason
>>> print(name)
'Joe'

# 因为字符串是不可改变的,所有replace不能直接修改,只是返回一个新的值
name2 = name.replace('oe', 'ason')
>>> print(name2)
>>> 'Jason'
Python 教程 Python 入门 Python 时间 Python JSON