字符串的基本操作


•python中一共提供了2类4中字符串的表示方法,如果希望在字符串中包含双引号或者单引号。那么如果想表示双引号的话,字符串就用单引号,反之亦然。

     •字符串的序号有正向递增序号和反向递减序号

•正向递增从0开始;•反向递减从-1开始;

•索引:返回字符串中单个字符 [M].•切片:返回字符串中的一段字符子串 [M:N]

•高级用法:使用[M:N:K]根据步长对字符串切片•-[M:N],M缺失表示至开头,N缺失表示至结尾•-[M:N:K],表示根据步长K对字符串切片

•例如:“0123456789”[1:8:2]的结果是“1357”•“0123456789”[ : : -1]的结果是“9876543210” 相当于字符串的逆序

•转义符:\(表达字符原有的意思)

•“\b”回退 “\n"换行

字符串的操作符


•x+y 连接两个字符串•nx或x\n 复制n次字符串x•x in s 如果x是s的子串,返回true,否则返回false

例子:获取星期字符串

•输入:1-7的整数,表示星期几•输出:输出整数对应的星期字符串•例如:输入3,输出星期三

#WeekNamePrintV1.py
weekStr = "星期一星期二星期三星期四星期五星期六星期日"
weekId = eval(input("请输入星期数字(1-7):"))
pos = (weekId - 1) * 3
print(weekStr[pos:pos+3])

.

#WeekNamePrintV2.py
weekStr = "一二三四五六日"
weekId = eval(input("请输入星期数字(1-7):"))
print("星期" + weekStr[weekId-1])

字符串处理函数


一些以函数形式提供的字符串处理功能

函数及使用

描述

len(x)

长度,返回字符串x的长度 len("123465")结果为6。

无论是汉字,英文字母,标点符号……长度是相同的,都是一个字符

str(x)

任何类型的x所对应的字符串形式

str(1.23)结果为“1.23”

hex(x)或oct(x)

整数x的十六进制或八进制小写形式字符串

hex(425)结果为$0x1a9$ oct(425)结果为$0o651$

chr(u)

u为Unicode编码,返回其对应的字符

ord(x)

x为字符,返回其对应的Unicode编码

Unicode编码——Python字符串的编码方式

统一字符编码,即覆盖几乎所有字符的编码方式

从0到1114111(0x10FFFF)空间,每个编码对应一个字符

Python字符串中每个字符都是Unicode编码

字符串的处理方法


“方法”在编程中是一个专有名词

方法特指.()风格中的函数()

方法以及使用

描述

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")

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()

•"{ }:计算机{ }的cpu占用率为{ }%".format("2018-10-10","C",10)

:

<.>

引导符号

用于填充的单个字符

< 左对齐

> 右对齐

^ 居中对齐

槽设定的输出宽度

数字的千位分隔符

浮点数小数精度

或字符串最大输出长度

整数类型b,c,d,o,x,X

浮点数类型

e,E,f,%

•>>>"{0:=^20}".format("PYTHON") '========PYTHON========'• >>> "{0:*>20}".format("BIT") '*****************BIT'• >>> "{0: , .2f}".format(123456.6789) '12,345.68'