文章目录
- 一、字符串
- 二、字符串的索引与切片
- 三、字符串处理与操作
- 四、format()格式化方法
- 五、字符串与数值的转换
一、字符串
在Python中,使用单引号或双引号括起来的内容,称为字符串类型数据(str),可以使用以下4种方式定义:
1、单引号(’’),其中可以包含双引号。
2、双引号(” ”),其中可以包含单引号。
3、三单引号(’’’ ’’’ ),其中可以包含单引号和双引号,可以跨行。
4、三双引号(””” ””” ),其中可以包含单引号和双引号,可以跨行。
input函数将用户的输入作为一个字符串类型数据,这是获得用户输入数据的常用方式。
二、字符串的索引与切片
Python中提供正向递增和反向递减两种序号体系用来访问字符序列中的内容,正向从序列的最左边开始,起始索引号为0,反向从序列的最右边开始,起始索引号为-1,利用这两种索引方式均可以较为方便的访问每一个字符。
Python中字符串也提供区间访问方式,采用[头下标:尾下标]的方式,这种访问方式称为“切片”。
若有字符串s,s[头下标:尾下标]表示在字符串s中取索引值从头下标到尾下标(不包含尾下标)的子字符串。
切片方式中,若头下标缺省,表示从字符串的开始取子串;若尾下标缺省,表示取到最后一个字符;若头下标和尾下标均缺省,则取整个字符串。
字符串切片还可以设置取子串的顺序,只需要再增加一个参数即可,把[头下标:尾下标]变成[头下标:尾下标:步长]。
当步长值大于0的时候,表示从左向右取字符;当步长值小于0的时候,表示从右向左取字符。
步长的绝对值表示每次取字符的间隔是多少。
三、字符串处理与操作
Python有内置的运算符、函数和方法用于对字符串进行处理与操作。
1、内置的运算符
运算符 | 描述 |
---|---|
+ | 字符串拼接 |
* | 字符串复制 |
in | 判断是否为子串 |
2、内置的字符串处理函数
函数 | 描述 |
---|---|
len(x) | 返回字符串x的长度 |
str(x) | 将任意类型x转换为字符串类型 |
chr(x) | 返回Unicode编码为x的字符 |
ord(x) | 返回字符x的Unicode编码值 |
hex(x) | 将整数x转换为十六进制数,并返回其小写字符串形式 |
oct(x) | 将整数x转换为八进制数,并返回其小写字符串形式 |
3、内置的字符串处理方法
(1)字符串查找类方法:find()、rfind()、index()、rindex()、count()
find()和rfind()方法分别用来查找一个字符串在另一个字符串指定范围(默认是整个字符串)中首次和最后一次出现的位置,如果不存在则返回-1。
index()和rindex()方法分别用来查找一个字符串在另一个字符串指定范围(默认是整个字符串)中首次和最后一次出现的位置,如果不存在则抛出异常。
count()方法用来返回一个字符串在另一个字符串中出现的次数,如果不存在则返回0。
(2)字符串分隔类方法:split()、rsplit()、partition()、rpartition()
split()和rsplit()方法分别用来以指定字符为分隔符,从原字符串左端和右端开始将其分隔成多个字符串,并返回包含分隔结果的列表。默认按空白符号分隔字符串,如空格,换行符,制表符等。
partition()、rpartition()方法分别用来以指定字符串为分隔符将原字符串分隔为3个部分,即分隔之前的字符串,分隔符字符串和分隔符之后的字符串。如果指定的字符串不在原字符串中,则返回原字符串和两个空字符串。如果字符串中有多个分隔符,则从遇到的第一个分隔符来进行分隔。
(3)字符串连接方法:join()
字符串的join()方法用来将列表中多个字符串进行连接,并在相邻两个字符串之间插入指定字符,返回新字符串。
(4)大小写字符转换方法:lower()、upper()、capitalize()、title()、swapcase()
lower()返回小写字符串,upper()返回大写字符串,capitalize()将字符串首字母转换为大写,title()将字符串中每个单词的首字母转换成大写、swapcase()将字符串中的字符大小写互换。
(5)字符串替换方法:replace()
replace()方法用来替换字符串中指定字符或子字符串,每次只能替换一个字符或子串,类似于Word文本编辑器的查找替换功能。该方法不修改原字符串,而是返回一个新字符串。
(6)删除字符串两端,右端或左端连续空白字符和指定字符方法:strip()、rstrip()、lstrip()
strip()删除两端空白字符,rstrip()删除右端空白字符、lstrip()删除左端空白字符。
(7)判断字符串是否以指定字符开始或结束:startswith()、endswith()
(8)判断字符串类型方法: isupper()、islower()、isdigit()、isalnum()、isalpha()
isupper()判断字符串是否全为大写、islower()判断字符串是否全为小写、isdigit()判断字符串是否全为数字、isalnum()判断字符串是否全为数字或字母或汉字、isalpha()判断字符串是否为全字母和汉字
(9)字符串排版方法:center()、ljust()、rjust()、zfill()
center()字符串居中对齐,可确定输出长度及补充字符串、ljust()字符串左对齐,可确定输出长度及补充字符串、rjust()字符串右对齐,可确定输出长度及补充字符串、zfill()字符串左侧用“0”填充,可确定输出长度。
四、format()格式化方法
从Python2.6 开始,新增了一种格式化字符串的方法 str.format(),它增强了字符串格式化的功能,基本语法是通过“{}”和“:”来代替以前的“%”。format方法可以有多个输出项,位置可以按指定顺序。
当使用format方法格式化字符串的时候,需要在“{}”中首先输入“:”。“:”称为格式引导符。“:”之后分别设置<填充字符> <对齐方式> <宽度>。
设置项 | 可选值 |
---|---|
<填充字符> | “*”,“=”,“-”等,但只能是一个字符,默认为空格 |
<对齐方式> | ^(居中), <(左对齐), >(右对齐) |
<宽度> | 一个整数,指格式化后整个字符串的字符个数 |
五、字符串与数值的转换
int和float对象可以混合运算,二者计算时会自动将int对象转换成float对象,结果为float对象。此外如果在计算时存在布尔类型,True会自动切换成1,False会自动转换成0参与计算。
强制类型转换是将表达式强制转换成想要的数据类型。