- 字符串类型的表示
- 字符串操作符
- 字符串处理函数
- 字符串处理方法
- 字符串类型的格式化
字符串类型的表示
字符串是字符的有序数列,可以对其中的字符进行索引(从0开始编号)
两类四种表示方式
- 由一对单引号或双引号表示,仅表示单行字符串
eg."请输入带有符号的温度值:"或者'C'
- 由一对三单引号或三双引号表示,可表示多行字符串
eg.'''Python
语言'''
'''三单引号形式'''可表示多行注释,三单引号构成字符串,而程序中出现一个字符串,并没有给到某一个变量中,或没有进行任何操作,便可以当作注释来用
python 提供的四种字符串表示方法是存在冗余的,这种冗余最大的好处是使得单引号和双引号在字符串中的出现变得简单、好处理:
'这里有个双引号(")'
"这里有个单引号(')"
'''双引号(")与单引号(')同时存在'''
(另一种表示方法:用转义符\)
字符串的使用
索引:返回字符串中单个字符 <字符串>[M]
eg."请输入带有符号的温度值:"[0] 或者 TempStr[-1]
切片:返回字符串中一段字符子串
<字符串>[M(包含):N(不包含)],M缺失表示至开头,N缺失表示至结尾
"请输入带有符号的温度值:"[1:3] 或者 TempStr[0,-1]
eg."〇一二三四五六七八九十"[:3]结果是"〇一二"
<字符串>[M:N:K],根据步长K对字符串切片
"〇一二三四五六七八九十"[1:8:2]结果是"一三五七"
将其逆序:<字符串>[::-1] 表示M和N都缺失,步长为-1,从后向前逐一取出从开始到结尾的所有字符串
转义符\
转义符加在字符前表达特定字符的本意
转义符形成一些组合,表达一些不可打印的含义
"\b"回退 "\n"换行(光标移动到下行首) "\r"回车(光标移动到本行首)
字符串操作符
字符串:由0个或多个字符组成的有序字符序列
操作符及使用 | 描述 |
---|---|
x+y | 连接两个字符串x和y |
n*x或x*n | 复制n次字符串x |
x in s | 如果x是s的子串,返回True,否则返回False |
数字转化为星期几的代码:
i=eval(input())
day="一二三四五六七"
print("星期"+day[i-1])
字符串处理函数
字符串处理函数:一些以函数形式提供的字符串处理功能
函数及使用 | 描述 |
---|---|
len(x) | 长度,返回字符串x的长度 |
str(x) | 任意类型x所对应的字符串形式 eg.str([1,2])结果为"[1,2]" |
hex(x) 或 oct(x) | 整数x的十六进制或八进制小写形式字符串 eg.hex(425)结果为"0x1a9" oct(425)"结果为0o651" |
chr(u) | u为Unicode编码,返回其对应的字符 |
ord(x) | x为字符,返回其对应的Unicode编码 |
Unicode单字符
python3中所有的字符串和代码全部是采用Unicode编码形式来实现的
字符串处理方法
- 方法是编程中面向对象的一个专有名词
- “方法”特指<a>.<b>()风格中的函数<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" #主要用于字符串分隔等 |
副本的意思是原始字符串的一个拷贝或副本。使用str.lower()函数时,它会返回一个新的字符串,该字符串包含原始字符串的副本,但所有字符都被转换为小写字符。原始字符串本身不会被修改,而是生成一个新的字符串,其中所有字符都是小写。
字符串类型的格式化
- 格式化是对字符串进行格式表达的方式
- 字符串格式化使用.format()方法
- 槽相当于一个占位信息符,用{}表示,只在字符串中有用
槽内部对格式化的配置方式
{<参数序号>:<格式控制标记>}
: | <填充> | <对齐> | <宽度> | <,> | <.精度> | <类型> |
---|---|---|---|---|---|---|
引导符号 | 用于填充的单个字符 | <左对齐 >右对齐 ^居中对齐 | 槽设定的输出宽度 | 数字的千位分隔符 | 浮点数小数精度或字符串最大输出长度 | 整数类型b,c,d,o,x,X 浮点数类型e,E,f,% |
顺序不能颠倒,我的解释器默认靠右对齐
>>>"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)
'110101001,,425,651,1a9,1A9'
>>>{0:e},{0:E},{0:f},{0:%}".format(3.14)
'3.140000e+00,3.140000E+00,3.140000,314.000000%'
注意:所有出现的标点符号用英文半角模式
在字符串类型的格式化中,“格式化”是指将变量/值或数据插入到一个字符串中,使得我们可以按照所需的方式格式化文本。