- 参考书《Python基础教程(第三版)》—— Magnus Lie Hetland
文章目录
- 一、字符串基本操作
- 二、设置字符串格式
- 1. 旧方法:使用%
- 2. 旧方法:模板字符串
- 3. 新方法:format
- (1)基本操作
- (2)替换字段名
- (3)基本转换
- (4)宽度、精度和填充
- 三、字符串方法
一、字符串基本操作
- 字符串属于序列,适用于所有标准序列操作(索引、切片、乘法、成员资格检查、长度、最小最大值)
- 字符串是不可变的,因此所有的元素赋值和切片赋值非法
- 序列通用方法参考:Python入门笔记2 - 列表和元组
二、设置字符串格式
1. 旧方法:使用%
- 类似C语言printf
- 格式字符串:类似printf中“”,这是一个带有转换说明符的字符串(%s,%.3f 之类的)
- %左边是一个格式字符串,右边指定要设置其格式的值
- 设置单个值格式,可以用字符串/数字;设置多个值格式,可以用元组/字典
2. 旧方法:模板字符串
- 类似UNIX shell语法
- 上面包含等号的参数称为 “关键字参数” ,(这样可以确保实参传递给正确的形参,而不必在意两个实参的先后顺序),在字符串格式设置中,把这个视为向命名替换字段提供值的方式
3. 新方法:format
(1)基本操作
- 每个替换字段用{}框起来,其中包含名称即如何对对应值进行转换和格式设置的信息
(2)替换字段名
- 可以在
{}
中给出替换参数的索引,从而可以不按顺序使用未命名参数
- 可以给未命名参数指定名称,这种参数将被应用到相应的替换字段中(指定名称必须从后面开始)
- 上面两种方法可以混用,但是最好不要这样用,这容易造成混乱
(3)基本转换
- 指定要在字段中替换的值后,就可以添加有关如何设置其格式的指令了。可以提供转换标志
- 在字段
{}
中
-
A!s
表示用str()
转换参数A -
A!r
表示用repr()
转换参数A -
A!a
表示用ascii()
转换参数A
- 还可以指定要转换的值是哪种类型,更准确的说,是要将其视为哪种类型。(例如:可以提供一个整数,把它作为小数处理)。
- 在字段
{}
中
-
num:b
:将num表示为二进制数 -
num:c
:将num表示为Unicode码点 -
num:d
:将num表示为十进制整数(num为整数时缺省) -
num:e
:将num表示为科学技术法表示 -
num:E
: 同num:e
,大写表示 -
num:f
:将小数num表示为定点数 -
num:F
: 同num:F
,大写表示 -
num:g
:自动在定点小数和科学表示法之间做选择(num为浮点数时缺省) -
num:G
:同num:g
,大写表示 -
num:n
:同num:g
,插入数字分隔符 -
num:o
:将num表示为八进制数 -
num:s
:将num表示为字符串 -
num:x
:将num表示为十六进制数 -
num:X
:同num:x
,大写表示 -
num:%
:将num表示为百分比值,带%号
(4)宽度、精度和填充
- 设置宽度(下例可见数字默认右对齐,字符串默认左对齐)
- 设置精度
- 用0填充数字
- 指定对齐方式
- 指定填充字符
- 符号说明符
三、字符串方法
- 字符串方法实在太多,请参考:
- (推荐): Python字符串常用方法详解
- python字符串常用方法及汇总
- python字符串方法大全