Python --- 字符串类型
2019-05-30 本文已影响0人
A_x_A
笔记主要由来于 慕课网 Python 语言程序设计
1.基本概念(有序序列,从 0 开始编号)
2.表达方式(两类四种 ---> 单、双、三单、三双)【注:没有给到一个变量中,三引号则表示多行注释】
3.字符串序号(正向增从0开始,反向减从-1开始)
4.字符串使用(字符串逆序)
5.字符串特殊字符(转义字符 \t \n \r)
6.字符串操作符
7.字符串处理函数
8.字符串处理方法(方法必须用 . 的方式去执行)
9.字符串类型格式化
10.Unicode编码
image.png考虑到观看问题,所以以下是笔记的截图
基本概念.png
表达方式.png
字符串序号.png 字符串使用.png 字符串特殊字符.png 字符串操作符.png
字符串处理函数.png 字符串处理方法.png 字符串类型格式化.png 字符串类型格式化.png Unicode编码.png
下面是以上截图的笔记
1.基本概念
- 由一对单引号或一对双引号表示
- 字符的有序序列,可以对其中的字符进行索引(从0开始编号)
例:
'单引号' "双引号"
"字" 是 "字符串类型" 的第0个字符
2.表达方式 ---> 两类四种
- 仅表示单行字符串 ---> 一对单引号或一对双引号
- 可表示多行字符串 ---> 一对三单引号或三双引号 【注:没有给到一个变量中,则表示多行注释】
Ⅰ字符串中包含单引号或双引号 ---> 另一种符号套在外层
"这里有个单引号(')"
'这里有个双引号(")'
Ⅱ 字符串中既包含双引号又包含单引号 ---> 最外层套三单引号
''' 这里有个单引号(')又有个双引号(")'''
3.字符串序号
- 正向增从0开始
- 反向减从-1开始
字符串序号正反向.png
4.字符串使用 ---> 使用[ ]获取字符串中的一个或多个字符
- 索引:返回字符串中单个字符 ---> <字符串>[M]
"请输入带有符号的温度值:"[0] 或 TempStr[-1]
- 切片:返回字符串中一段字符串 ---> <字符串>[M:N]
"请输入带有符号的温度值:"[1:3] 或 TempStr[0:-1]
- 高级用法:
Ⅰ <字符串>[M:N] ---> M 缺失表示至开头(从0开始)
N 缺失表示至结尾(到末尾结束)
>>> "零一二三四五六七八九十"[ : 3]
'零一二'
Ⅱ <字符串>[M:N:K] ---> 使用[M:N:K]根据步长对字符串切片(M开始 N结束 间隔K)
>>> "零一二三四五六七八九十"[1:8:2]
'一三五七'
Ⅲ <字符串>[::-1] ---> 字符串逆序
>>> "零一二三四五六七八九十"[::-1]
'十九八七六五四三二一零'
5.字符串特殊字符(转义符)
- 转义符表达特定的字符本意
>>> "这里有个双引号(\") "
'这里有个双引号(") '
- 转义字符组成一些组合,表达一些不可打印的含义
Ⅰ "\b" 回退
Ⅱ "\n" 换行
Ⅲ "/r" 回车(光标移动到本行首)
6.字符串操作符
Ⅰ x + y ---> 连续两个字符串x和y
Ⅱ n * x 或 x * n ---> 复制n次字符串 x
Ⅲ x in s ---> 如果x是s的子串,返回 True, 否则返回 False
7.字符串处理函数
7.1 len(x) ---> 获取字符串长度
>>> len("一二三456")
6
7.2str(x) ---> 任意类型 x 所对应的字符串形式
>>> str(1.23) >>> str([1,2])
'1.23' '[1, 2]'
7.3 hex(x) 或 oct(x) ---> 整数x的十六进制或八进制小写形势字符串
>>> hex(425) >>> oct(425
'0x1a9' '0o651'
7.4 chr(u) ---> 返回其对应的字符 (u为Unicode编码)
7.5 ord(x) ---> 返回其对应的Unicode编码 (x为字符)
8.字符串处理方法
8.1
- "方法"特指 <a>.<b>() 风格中的函数 <b>()
- 方法本身也是函数,但与 <a> 有关,<a>.<b>() 风格使用
- 字符串及变量也是 <a> ,存在一些方法
8.2
Ⅰ str.lower() 或 str.upper() ---> 返回字符串的副本,全部字符串小写/大写
>>> "AbCdEfGh".lower()
'abcdefgh'
Ⅱ str.split(sep = None) ---> 返回一个列表,由str根据sep 被分割的部分组成
>>> "A,B,C".split(" , ")
['A,B,C']
Ⅲ str.count(sub) ---> 返回子串在str中出现的次数
>>> "an apple a day".count("a")
4
Ⅳ str.replace(old, new) ---> 返回字符串str副本,所有old 子串被替换为new
>>> "Python".replace("n","n123.io")
'Python123.io'
Ⅴ str.center(width[,fillchar]) ---> 字符串str根据宽度width居中,fillchar 可选
>>> "python".center(20,"=")
'=======python======='
Ⅵ str.strip(chars) ---> 从str 中去掉在其左侧和右侧chars中列出的字符
>>> "= python= ".strip(" =np")
'ytho'
Ⅶ str.join(iter) ---> 在iter变量除最后元素每个元素后增加一个str (主要用于字符串分隔)
>>> ",".join("12345")
'1,2,3,4,5'
9.字符串类型格式化
- <模板字符串>.format(<逗号分隔的参数>) ---> 格式化是对字符串进行格式化表达方式
- format()方法的格式控制
{<参数序号> : <格式控制标记>}
Ⅰ
❶ >>> "{0:=^20}".format("python")
'=======python======='
=(填充) ^(居中对齐) 20(输出宽度)
❷ >>> "{0:*>20}".format("BIT")
'*****************BIT'
❸ >>> "{:10}".format("BIT")
'BIT '
Ⅱ
❶ >>> "{0:,.2f}".format(12345.6789)
'12,345.68'
❷ >>> "{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)
'110101001,Ʃ,425,651,1a9,1A9'
b(二进制)
c(字符形式 Unicode)
d(十进制)
e(科学计数法)
f(通常非科学计数法)
o(小写八进制) O(大写八进制)
x(小写十六进制) X(大写十六进制)
%(百分制)
字符串类型格式化.png
10.Unicode编码
- 统一字符编码即覆盖几乎所有字符编码方式
- 从 0 到 1114111 (0x10FFFF) 空间,每个编码对应一个字符
- Python 字符串每个字符都是Unicode 编码字符
>>> for i in range(12):
print(chr(9800 + i), end="")
♈♉♊♋♌♍♎♏♐♑♒♓
end 值为空不变,值为 \n 换行,值为 \t 字符左右间距加大