##字符串
Python中的字符串本质上与C语言相同,只是封装为一个对象来进行处理
主要作用是记录文本信息
###字符串的表示
四种表示方式:
成对单引号 ' '
成对双引号 " "
成对三单引号 ''' '''
成对三双引号 """ """
后两种方式可以包含任意行数的字符串,信息量更大
###字符串的转译
字符串使用四种表达方式可以避免对于单双引号的转译
如' " '
可用于表示"
无需进行转译
常用转译:
\'
单引号(可以不用)
\\
反斜杠
\n
换行(表示的是一种动作)
\r
回车
\t
Tab
\b
退格
\f
换页
\oxx
八进制值
\xhh
十六进制值
\uxxxx
Unicode的16进制值
Windows中的回车键相当于 \n \r
先换行再返回光标到行首
在字符串前加r
可以让转义字符失效
如r'hello\nworld'
结果为'hello\nworld'
###字符串运算
1.隐式拼接
a='abc''efg'
则 a = abcefg
2.拼接运算
a = '123'+'456'
则 a = '123456'
a = '123' * 2
则a = '123123'
3.字符串比较
和Java的字符串比较类似,找到第一个不相同的字符,比较他们的ASCII码值
4.索引index
可理解为数组下标,从0开始
a='123'
则a[0] = '1'
切片技术:
a[3:6:2]
3表示起始下标,6表示终止下标(不被包含进来),2表示步长
a[-1::-1]
可表示逆序的字符串
###字符串内建序列函数
len()
返回字符串的长度
max()
返回字符串中最大的字符
min()
返回字符串中最小的字符
sorted()
返回按字典顺序排序的列表
reversed()
返回反转后的字符串
enumerate()
返回一个枚举对象
ord()
将指定字符转换为原始值
chr()
将原始值转换为对应的字符
###Unicode字符串
定义一个Unicode字符串:u'Hello World !'
可以使用 Python 的 Unicode-Escape 编码加入一个特殊字符:u'Hello\u0020World !'
即 u'Hello World !'
###字符串内建函数
首先明确,大部分常用方法返回值是暂时的,原字符串不受影响
使用这些方法的前提是需要有一个字符串,用这个字符串去调用方法
####字符串查询
find(str, beg=0, end=len(string))
查找子串str第一次出现的位置,如果找到则返回相应的索引,否则返回-1
rfind(str, beg=0,end=len(string))
类似于 find()函数,不过是从右边开始查找
index(str, beg=0, end=len(string))
类似于find,只不过如果没找到会报异常。
rindex(str, beg=0 end=len(string))
类似于rfind,如果没有匹配的字符串会报异常
####字符串大小写转化
upper
将字符串中所有元素都转为大写
lower
将字符串中所有元素都转为小写
swapcase
交换大小写。大写转为小写,小写转为大写
capitalize
第一个大写,其余小写
title
每个单词的第一次字符大写,其余均为小写
####字符串对齐
center(width, fillchar)
返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
ljust(width[, fillchar])
返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
rjust(width,[, fillchar])
返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串
zfill (width)
返回长度为 width 的字符串,原字符串右对齐,前面填充0
####分割字符串
split(seq=“”, num=string.count(str))
以 seq (默认空格)为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串(只需num个seq分隔符)。分割后得到新列表
rsplit
与split类似,不过是从右边开始分割
splitlines
按照行进行分割,得到新的列表
####字符串合并与替换
join(seq)
以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
replace(old, new [, max])
将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次
####判断字符串
isidentifier
判断字符串是不是合法标识符(字符、数字、下划线)
isspace
判断字符是否只有空白字符(回车、换行和水平制表符)
isalpha
判断字符串是否全部由字母组成
isdecimal
判断字符是否全部由十进制的数字组成,不包括中文、罗马字符
isdigit
判断字符串只包含数字,不包括中文数字
isnumeric
判断字符串是否全部由数字组成,中文数字也算
isalnum
判断字符串是否由字母和数字组成
islower
判断字符串中的字符是否全部为小写,字符串至少有一个字符
isupper
判断字符串中的字符是否全部为大写,字符串至少有一个字符
istitle
判断字符串是否标题话,见titile
isascii
如果字符串为空或字符串中的所有字符都是 ASCII,则返回 True,否则返回 False。
isprintable
如果所有字符都是可打印的,则 isprintable() 方法返回 True,否则返回 False。