python基础知识之字符串

最近在自学python,整理下知识点

python中的基础数据类型包括:数字、字符串、布尔、列表、元组、字典、集合

数字类型主要就是用于计算,布尔值(True、False)用于逻辑判断

字符串:凡是用引号(包括单引号、双引号、三引号引起来的都是字符串,其中单引号和双引号没有任何区别,可嵌套使用,多引号用于创建多行字符串,并且可赋值给变量)

#字符串可以按照索引来操作,比如
a = 'abcdefghijklmn'
print(a[2]) #字符串的索引从0开始,所以输出c
print(a[0:3]) #可以进行切片操作,就是通过索引(开始位置:结束位置:步长)截取字符串的一段,形成新的字符串(左闭合,不包括结束位置的字母)
print(a[4:]) #可以省略右边,省略时截取后面全部
print(a[:7]) #也可以省略左边,从开始截取
print(a[1:6:2]) #可以添加步长
print(a[::4]) #甚至开始位置和结束位置省略,只保留步长
print(a[-1:2:-2])#-1代表最后一个字符,字段为-2表示逆向以步长为2的方式截取 此时输出为“倒序”

字符串的常用方法:

x = 'good JOB'
print(x.capitalize()) #输出Good job,首字母大写
print(x.swapcase()) #输出GOOD job,大小写翻转
print(x.title()) #Good Job,每个单词的首字母大写
print(x.center(20,'&'))#&&&&&&good JOB&&&&&&,居中功能,前面参数定义输出总长度,后面参数定义以指定字符填补剩余部分
print(x.count('o'))#2,计算字符串中指定字符的个数,可以切片查询(x.count('o',0,5))
x = 'a\tbcwww\tabcdefghiaaww\twee'
print(x.expandtabs())#如果\t前面的字符长度不足8个,则补全8个,如果\t前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。
print(x) #话说这个方法貌似用不用 没什么鸟用啊?
a       bcwww   abcdefghiaaww   wee
a   bcwww   abcdefghiaaww   wee
x = 'jhndwahugf;lkskdjhaiuwhedssszsd'
print(x.startswith('w',4,10))#判断是否是以'w'开头,可以添加切片参数(4,10)从索引4到10(包括4,但不包括10),结果返回布尔值
print(x.endswith('sss',15,-3))#判断是否以'sss'结尾,从索引15到-3(-3表示倒数第3个字符,不包括它本身)
print(x.find('u1gf',0,15))#查找字符串中是否含有字符"ugf",可以添加切片参数,返回起始索引位置,如果找不到则返回-1
print(x.index('hnd')) #返回找到的元素的索引,找不到则会报错
x = 'how,old,are,you'
print(x.split(','))#['how', 'old', 'are', 'you'],以指定字符分割字符串,结果返回一个列表,列表中不含指定的字符
print(x.split(',',1))#['how', 'old,are,you'],可以设定以第几个指定的字符来进行分割
x = '刘先生'
y = '李女士'
print('{}深爱着{}'.format(x,y))#刘先生深爱着李女士,字符串格式化,{}的数量要与format()括号中元素个数相同
print('{0}深爱着{1},但是{1}并不是真心爱{0}'.format(x,y)) #刘先生深爱着李女士,但是李女士并不是真心爱刘先生,可以添加索引,此时{}个数不要求与format的参数个数相同
print('{name1}深爱着{name2},并且{name2}也深爱着{name1}'.format(name1='刘先生',name2='李女士'))#刘先生深爱着李女士,并且李女士也深爱着刘先生
#可以用指定键值的方式来设定参数,要注意name1不加引号,刘先生必须加引号
print('%s深爱着%s'%('刘先生','李女士'))#刘先生深爱着李女士,也可以用%s....%(参数)的格式来格式化字符串
x = '  abcdefgasdkjhwgfedcba   '
print(x.strip())#去掉字符串两边的空格
print(x.strip('ab '))#去掉字符串两边的空格和字母a、b
print(x.lstrip('ab '))#去掉字符串左边的空格和字母a、b
print(x.rstrip('ab '))#去掉字符串右边的空格和字母a、b
abcdefgasdkjhwgfedcba
cdefgasdkjhwgfedc
cdefgasdkjhwgfedcba   
  abcdefgasdkjhwgfedc
x = 'abcdefg我是第一名,我是第二名abcdefg'
print(x.replace('我','刘先生'))#将字符串中的“我”字替换成“刘先生”
print(x.replace('我','刘先生',1))#只将第一个“我”字替换成刘先生
abcdefg刘先生是第一名,刘先生是第二名abcdefg
abcdefg刘先生是第一名,我是第二名abcdefg
x = 'checkthetypeofstr'
print(x.isalnum()) #检查字符串是否由字母或者数字组成,返回真或假,注意:全字母也返回真
print(x.isalpha()) #检查字符串是否由字母组成
print(x.isdigit()) #检查字符串是否由数字组成
True
True
False

猜你喜欢

转载自blog.csdn.net/Grim777/article/details/81461537