Python 基础 - 数据类型 - 字符串类型与操作

#数据类型

字符串 str

格式

  • 单引号
  • 双引号
  • 三引号 多行. 利用其特点,可用于注释

1. 切片(同列表)

使用[M:N:K]根据步长对字符串切片
M 缺失表示至开头
N 缺失表示至结尾
K 缺失表示步长1

正向递增序号

  • ‘hello world’[:5] == ‘hello’

反向递减序号

  • ‘hello world’[-5:] == ‘world’

步长

  • ‘1234567890’[::2] == ‘13579’
  • 步长为负, 反转字符串
    • ‘1234567890’[::-1] == ‘0987654321’

2. 转义符

  • (在行尾时) 续行符
  • \\ 反斜杠符号
  • \’ 单引号
  • \” 双引号
  • \b 退格(Backspace,光标向前退一格)
  • \000 空
  • \n 换行(光标移动到下行首)
  • \r 回车(光标移动到本行首)
  • \t 横向制表符

  • \a 响铃
  • \e 转义
  • \v 纵向制表符
  • \f 换页
  • \oyy 八进制数,yy代表的字符,例如:\o12代表换行
  • \xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
  • \other 其它的字符以普通格式输出

3. 字符串操作符

x + y

- 连接两个字符串x和y 

n*x 或 x*n

- 复制n次字符串x

x in s

- 如果x是s的子串, 返回True, 否则返回False

4. 字符串处理函数

len(x)

- 长度, 返回字符串x的长度
- len("一二三456") 结果为6

str(x)

- 任意类型x所对应的字符串形式
- str(1.23) 结果为"1.23"
- str([1, 2]) 结果为"[1, 2]"

hex(x)

- 整数x的十六进制小写形式字符串
- hex(425) 结果为"0x1a9"

oct(x)

- 整数x的八进制小写形式字符串
- oct(425) 结果为"0o651"

chr(u)

- u为Unicode编码, 返回其对应的字符

ord(x)

- x为字符, 返回其对应的Unicode编码

str.lower()

- 返回字符串的副本, 全部字符小写
- 'AbcDeF'.upper() 结果为"abcdef"

str.upper()

- 返回字符串的副本, 全部字符大写
- 'AbcDeF'.upper() 结果为"ABCDEF"

str.split(sep=None)

- 返回一个列表, 由str根据sep被分割的部分组成
- "A,B,C".split(",") 结果为['A', 'B', 'C']

str.count(sub)

- 返回子串sub在str中出现的次数
- "a apple a day".count("a") 结果为4

str.replace(old, new)

- 返回字符串str副本, 所有old子串被替换为new
- "python".replace("n", "n123") 结果为"python123"

str.center(width, fillchar=” “)

- 字数串str根据宽度width居中, fillchar可选
- "python".center(10,'=') 结果为'==python=='

str.strip(chars)

- 从str中去掉在其左侧和右侧,chars中列出的字符
- "== python ==".strip(" =pn") 结果为"ytho"

str.join(iter)

- 主要用于字符串分割
- 在iter变量除最后元素外每个元素后增加一个str
- ",".join("12345") 结果为 "1,2,3,4,5"

### 5. 字符串格式化

“{0} / {1} / {2}”.format(2018, 10, 24)

>> 2018 / 10 / 24

{序号} 为槽

槽的内部对格式化的配置方式
{<参数序号>:<格式控制标记>}
:<填充>|<对齐>|<宽度>|<,>|<.精度>|<类型>

填充

  • 用于填充的单个字符

对齐

  • < 左对齐
  • > 右对齐
  • ^ 居中对齐

宽度

  • 槽设定的输出宽度

,(逗号)

  • 数字的千位分隔符

.精度

  • 浮点数小数精度 或 字数串最大输出长度

类型

  • 整数类型
    • b
    • c
    • d
    • o
    • x
    • X
  • 浮点数类型
    • e
    • E
    • f
    • %

示例

1
2
3
"{0:=^50,.3f}".format(500000.12345)

'===================500,000.123===================='
  • 0 序号
  • = 填充
  • ^ 居中对齐
  • 50 宽度50
  • , 千位分割
  • .3 保留3为小数
  • f 浮点类型

End