Python 数据类型之字符串(string)
一、表示方法
1、成对的英文引号表示,单引号‘ ’,双引号" ",三单引号''' ''',三双引号""" """,其中,单引号和双引号只能表示单行字符串,三单引号和三双引号即可以表示单行字符串,又可以表示多行字符串;
2、字符串中出现单引号',可使用双引号" "或者三引号表示,字符串中出现双引号",可使用单引号' '或者三引号表示,同时出现单引号'和双引号",可使用转义字符\或者r' '表示。
二、type()
判断变量的数据类型
三、len()
获取变量的长度,如果变量类型为字符串,len()方法可以获得字符的个数
四、数据类型的转化
采用变量类型+()的方式进行数据类型转化,如int()表示将数据转化为整型,float()将数据转化为浮点型,list()将数据转化为列表,dict()将数据转化为字典,等。注意:数据类型并非任意转化
五、索引(单个字符)
1、表达方式:str[index],index即表示索引
2、分类:分为正数索引和负数索引,正数索引从左往右开始数,从0开始计算,str[index]表示第index + 1个字符,即0表示第1个字符的位置,1表示第2个字符的位置,......;负数索引从右往左开始数,从-1开始计算,str[index]表示倒数第|index|个字符的位置,即-1表示倒数第一个字符的位置,-2表示第二个字符的位置, ......
3、超出索引,python报错并终止运行
六、切片(多个连续或非连续字符)
1、表达方式:str[start : end : step],其中start表示起始位置,end表示结束位置,step表示步长,左闭右开区间(即包括左边不包括右边)。start如果省略,当step > 0时,表示从左数第1个字符开始截取,当step < 0时,表示从右数第一个字符开始截取;end如果省略,当step > 0时,表示截取至正数最后一个字符,当step < 0 时,表示截取至倒数最后一个字符;步长如果不写,表示默认为1
2、规律:如果end结束位置在start开始位置的右边,表示从左往右截取,步长必须为正数,如果end结束位置在开始位置的左边,表示从右往左边截取,步长必须为负数
3、常见表示方式
str[start:] = 从左往右截取,从索引=start位置截取到最后
str[:end] = 从左往右截取,从第1个位置截取到索引 = end 位置(不包括索引 = end 位置的字符)
str[:] = 从左往右截取,从第1个位置截取到最后
str[: : step] = 当step > 0时,从左往右,从第1个位置到最后一个位置,每隔step个字符进行截取,当step < 0 时,从右往左,从倒数第一个位置至倒数最后一个位置,每隔|step|个字符进行截取
七、字符串的一些常用操作
1、+:字符串连接,如a = Hello,b = Python,那么 a + b = HelloPython
2、title():表示字符串中单词的首字符大写,如a = hellopython,a.title() = HelloPython
3、lower():表示所有的字符转为小写,如a = HelloPython,a.lower() = hellopython
4、upper():表示所有的字符转为大写,如a = HelloPython,a.upper() = HELLOPYTHON
5、find():查找子串在字符串中首次出现的位置,如果未找到,返回-1,如a = HelloPython,a.find('P') = 5,a.find('Py') = 5,a.find('PY') = -1
6、count():统计子串在字符串中出现的次数,如a = HelloPython,a.count('o') = 2,a.count('Py') = 1,a.count('PY') = 0
7、join():将列表、元祖、set中所有的元素指定的分隔符拼接成一个字符串 如a = ["Java", "Python", "C++", "PHP"],"/".join(a) = Java/Python/C++/PHP
8、split():字符串分割,将字符串以指定的分隔符分割为列表[]
9、replace():字符串替换str.replace(old, new),如 a = "Hello Java",a.replace("Java","Python") = Hello Python
10、strip():去除字符串左右两侧指定字符或字符串,如 a = "Hello Java",a.strip("He") = llo Java,最常用的情况是,去除字符串左右两侧的空格
11、rstrip():去除字符串右侧指定的字符或字符串,如 a = "Hello Java",a.rstrip("a") = Hello Jav
12、lstrip():去除字符串左侧指定的字符或字符串,如 a = "Hello Java",a.lstrip("H") = ello Java
13、format():格式化字符串,搭配占位符{}使用,如name = "张三",money = 1000,str = "今收到{}交来的学费{}元",str.format(name, money) = 今收到张三交来的学费100元