字符串
字符串声明
#声明 s1='abc' s2="abc" s3='''abc''' #其中'''中会原格式输出 message=''' [淘宝]你正在使用验证码登录, 验证码是:8906 涉及个人的账户安全,请保密。 ''' print(message)
字符串的使用
1、字符串的拼接
2、计算字符串的长度
3、in跟not in
字符串的拼接可以使用+进行拼接
mot_en = 'Remembrance is a form of meeting.' 'Frgetfulness is a form of freedom.' mot_cn = '记忆是一种相通,遗忘是一种自由' print(mot_en + '——' + mot_cn) #字符串不允许和其他类型的数据直接拼接,需要先使用str()转换
计算字符串的长度
''' 在python中数字,字母,小数点,下划线和空格会占用一个字节; 汉字在GBK/GB2312编码中占2个字节,在UTF-8/Unicode中占用3个字节 len()函数计算字符串的长度 ''' str1 ='人生苦短,我用Python!' length = len(str1) print(length) #out:14 #默认情况下,len()函数不区分英文、数字和汉字,所有字符都认为是一个
length = len(str1.encode()) #默认使用UTF-8编码 print(length) #out:28 #中文加中文逗号占用21个字节,所以一共占用28个字节
length = len(str1.encode('gbk')) #使用gbk编码 print(length) #out:21 #中文加中文逗号占用14个字节,一共占用21个字节
in跟not in
name ='steven' result='t' in name #返回结果是布尔类型,表示t是否在steven中 #not in 没有在...里面 result='se' not in name print(result)
字符串的截取
语法格式
string[start:end:step] #start:截取第一个字符的索引,不指定默认为0 #end:截取最后一个字符的索引,输出不包括此字符,不指定默认为字符串的长度 #step:步长,默认为1
案例
p i c t u e r . p n g 取值方向
0 1 2 3 4 5 6 7 8 9 10 →
-11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 ←
取值方向要看step,step为空或为正,则从左到右,step为负则从右到左。
''' []取字符串的第几个字符,从0开始 [0:7]包前不包后,即取0~6 [:7]不写就从0开始 ''' filename = 'pictuer.png' print(filename[0]) #输出为p print(filename[0:7]) #输出为pictuer print(filename[3:]) #输出为tuer.png print(filename[:7])#输出为pictuer print(filename[8:-1])#输出为pn,包前不包后,所以取-1前-2的n print(filename[:-2])#输出为pictuer.p,从0开始到-2,包前不包后 print(filename[-1:])#输出为g,-1位到最后 print(filename[-5:-1])#输出为r.pn print(filename[10:0])#输出为空,取不出来值 ''' 字符串的逆序 ''' print(filename[::-1]) #输出: gnp.reutcip,-1表示从右往左取值 print(filename[-1:-5:-1]) #输出: gnp.,包含-1不包含-5 print(filename[1:5:-1])#输出:空,取不出来值 print(filename[5:0:-1])#输出:eutci,从右到左取值,从5开始0结束 ''' 字符串的步长 ''' str1='hello world' print(str1[::2]) #输出为hlowrd print(str1[::-3]) #输出为dooe
字符串的分割
使用split()方法可将字符串分割为列表。
语法格式
str.split(sep,maxsplit) #sep:用于指定分隔符,可以包含多个字符,默认为None(即包含所有空字符,如空格、换行符\n、制表符\t等) #maxsplit:可选,指定分割次数,不指定或者指定为-1表示分隔次数没有限制
案例
str1='博 客 园 官 网 >>> www.cnblogs.com' print(str1.split()) #默认以空格分割 print(str1.split('>>>')) #以指定字符分割 print(str1.split('.')) print(str1.split(' ',4)) #使用空格分隔且只分割前四个空格 print(str1.split('>')) #当分隔符出现多个时,如>,就会每个分隔一次,没有得到内容的将会产生一个空元素 ---------------脚本执行结果-------------------- ['博', '客', '园', '官', '网', '>>>', 'www.cnblogs.com'] ['博 客 园 官 网 ', ' www.cnblogs.com'] ['博 客 园 官 网 >>> www', 'cnblogs', 'com'] ['博', '客', '园', '官', '网 >>> www.cnblogs.com'] ['博 客 园 官 网 ', '', '', ' www.cnblogs.com']
字符串的检索
以下是字符串检索常用到的方法,点击方法查看详情。
方法名 | 说明 |
count() | 指定字符串在另一个字符串中出现的次数 |
find() | 查找是否包含子字符串,不包含返回-1,包含返回索引 |
rfind() | 从右开始查找 |
index() | 同find(),找不到字符串会报错 |
rindex() | 从右开始查找 |
startswith() | 是否以指定字符串开头(这里菜鸟有个错误,是从第8个字符开始) |
endswith() | 是否以指定字符串结尾 |
lower() | 转小写 |
upper() | 转大写 |
strip() | 去除左右两边空格 |
lstrip() | 去除左边空格 |
rstrip() | 去除右边空格 |
学习来自:B站大学 P41-42
《python从入门到项目实践》明日科技 第七章
今天的学习是为了以后的工作更加的轻松!