变量声明
可以使用单引或双引进行声明
可以使用三个双引进行多行文本声明
a = 'aaa'
b = "bbb"
c = "It's a good day"
d = """Everyone get
what they want"""
转义字符
可以使用转义字符表示特殊符号,如\n \t \\
等。
此时在字符串定义中仍为转义字符表示,但在打印该字符串时,可以自动转为特殊字符。
s = 'buka\tage26'
s #buka\tage26
print(s) #buka age26
具体转义字符表如下
\n 换行
\t 制表符
\\ 斜杠\
\a 响铃alarm
\b 退格
\r 回车
\0 空字符
\' 单引号'
\" 双引号"
\? 问号?
\o 八进制数声明字符
\x 十六进制数声明字符(可做unicode字符声明)
可以使用指令r(raw)忽略字符串声明中的转义符解析
可以使用指令b(byte)以字节方式声明字符串
path = r'F:\fox\bin'
print(path) #F:\fox\bin
rose = b'romantic'
print(rose) #b'romantic'
序列通用操作
字符串的本质是一个字符序列,因此它满足所有序列的通用操作。
'c' in 'abcdefg'
s = 'test''contact'
s * 2
s[::3]
s.count('t')
min(s) #统计s中最小字符
其他常用操作
str(obj)
表示将obj转换为字符串表示str.replace(old,new[,cnt])
将str对象中的前n个旧字符串替换为新字符串,需要接收返回值str.capitalize()
将str对象的首字母大写,需要接收返回值str.upper()/lower()
将str所有字符转换为大写/小写,需要接收返回值str.startswith(sub)/endswith(sub)
判断str字符串是否以sub开头/结尾str.isnumeric()/isalpha()
判断str是否全为数字/字母str.split(sign)
将str以指定的分隔符分割为序列sign.join(list)
将多个字符串按顺序以制定分隔符分隔拼接起来str.format(name,age,job)
将多个参数拼接进模板str中
字符串模板详解
字符串模板示例如下:
‘name:{0},age:{1},job:{2}’.format(name,age,job)
‘department:{dept}’.format(dept=’tech’)
占位符格式设置:
- 填充显示
- {0:5}表示将第一个参数填入,如果长度不足,补充至5位,文本在右侧填充,数字在左侧填充
- {0:<10}表示固定左侧填充
- {0:>10}表示固定右侧填充
- 小数显示
- {0:f}表示小数,会在最后一位加0表示小数
- {0:.2f}表示保留两位小数
- {0:6.2f}表示保留两位小数,如果长度不足,左侧补空格至6位(包含小数点)
- {0:06.2f}表示保留两位小数,如果长度不足,左侧补0至6位(包含小数点)
- 指定进制
- {:x} / {:X}表示以十六进制进行字符表示,
31 => '1f' / '1F'
- {:o}表示以八进制进行字符表示
- {:b}表示以二进制进行字符表示
- {:x} / {:X}表示以十六进制进行字符表示,