字符串

字符串声明

#声明
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从入门到项目实践》明日科技 第七章

菜鸟教程

posted @ 2020-11-01 21:25  努力吧阿团  阅读(76)  评论(0编辑  收藏  举报