字符串
由0个或多个字符组成的有序字符序列
- 字符串由一对单引号或一对双引号表示
“请输入带有符号的温度值:” 或者 ‘C’ - 字符串是字符的有序序列可以对其中的字符进行索引
“请”是“请输入带有符号的温度值:”的第0个字符
字符串有2类4种表示方法
- 由一对单引号或双引号表示仅表示单行字符串
“请输入带有符号的温度值:” 或者 ‘C’ - 由一对三单引号或三双引号表示可表示多行字符串,可以当作字符串
‘’‘Python
语言’’’ - 如果希望在字符串中包含双引号或单引号呢?
’这里有个双引号(“)‘ 或者 ”这里有个单引号(‘)“ - 如果希望在字符串中既包括单引号又包括双引号呢?
’‘’这里既有单引号(‘)又有双引号(")‘’‘
字符串的序号
正向递增序号和反向递减序号
字符串的使用
基础用法:使用[]获取字符串的一个或多个字符
- 索引:返回字符串中单个字符 <字符串>[M]
“请输入带有符号的温度值:”[0] 或者 TempStr[-1] - 切片:返回字符串中一段字符子串 <字符串>[M][N]
“请输入带有符号的温度值:”[1:3] 或者 TempStr[0:-1]
高级用法:使用[M:N:K]根据步长对字符串切片
- <字符串>[M:N],M缺失表示至开头,N缺失表示至结尾
“零一二三四五六七八九十”[:3] 结果是 “零一二” - <字符串>[M:N:K],根据步长K对字符串切片
“零一二三四五六七八九十”[1:8:2] 结果是 “一三五七”
“零一二三四五六七八九十”[::-1] 结果是 “十九八七六五四三二一零”
字符串的特殊字符
转义符 \
- 转义符表达特定字符的本意
“这里有个双引号(\”)" 结果为 这里有个双引号(”) - 转义符形成一些组合,表示一些不可打印的含义
"\b"回退 "\n"换行 "\r"回车(光标移动到本行首)
字符串操作符
由零个或多个字符组成的有序字符序列
操作符及使用 | 描述 |
---|---|
x + y | 连接两个字符串x和y |
n * x 或 x * n | 复制n次字符串x |
x in s | 如果x是s的子串,则返回True,否则返回False |
一个栗子:获取星期字符串
# WeekNamePrint.py
weekStr = "一二三四五六日"
weekId = eval(input(“请输入星期数字(1-7):”))
print("星期" + weekStr[weekId-1]))
字符串处理函数
一些以函数形式提供的字符串处理功能
函数及使用 | 描述 |
---|---|
len(x) | 长度,返回字符串x的长度 , len(“一二三456”), 结果为6 |
str(x) | 任意类型x所对应的字符串形式, str(1.23) 结果为 “1.23” , str([1,2]) 结果为 “[1,2]” |
hex(x)或oct(x) | 整数x的十六进制或八进制小写形式字符串,hex(425) 结果为 “0x1a9” oct(425) 结果为 “0o651” |
chr(u) | x为unicode编码,返回对应的字符 |
ord(x) | x为字符,返回对应的编码 |
Unicode编码
- 统一字符编码,几乎覆盖所有字符的编码方式
- 从0到1114111(0x10FFFF)空间,每个编码对应一个字符
- Python字符串的每个字符都是Unicode编码字符
字符串处理方法
“方法“在编程中是一个专有名词
- ”方法“特指<a>.<b>()风格中的函数()
- ”方法“本身也是函数,但与<a>有关,<a>.<b>()风格使用
- 字符串或字符串变量是<a>,存在一些可用方法
方法及使用 | 描述 |
---|---|
str.lower()或str.upper() | 返回字符串的副本,全部字符小写/大写。AbCdEfGh“.lower 结果为 “abcdefgh” |
str.split(sep=None) | 返回一个列表,由str根据sep被分隔的部分组成,”A,B,C“.split(",") 结果 [‘A’,‘B’,‘C’] |
str.count(sub) | 返回子串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” 主要用于字符串分隔等 |
字符串类型的格式化
- 字符串格式化使用.format()方法,用法如下:
<模板字符串>.format(逗号分隔的参数)
槽
★ 槽内部对格式化的配置方式
{<参数序号>:<格式控制标记>}