您的位置:首页 > 编程语言 > Python开发

Python基础数据类型之字符串

2020-01-15 09:14 447 查看

字符串 — str

1. 字符串初识

  • 在Python内字符串用于存储一些数据,字符串中的每一个字符或者字符都成为元素
  • 在Python中只要用引号引上的内容内的都看作字符串
  • 多行注释三个引号内的内容也是字符串
  • 不赋值不运行,占据内存空间
a = 'asdas'
b = '1a2sd1'
c = '123+'
print(type(a),type(b),type(c))

结果
<class 'str'> <class 'str'> <class 'str'>
  • 以上内容都是字符串 只要用引号引上的都是字符串

2. 字符串的索引

2.1 索引

  • 索引实际上就是字符串中每个元素所对应的序号,在计算机内数字是从0开始的,索引从字符串的左侧向右数时 从0开始数,级字符串的第一位对应0 ,我们也可以从右向左数,这样是从-1开始计数,每向右数一位减1.
str_01 = 'zhmm'
print(str_01[0])
print(str_01[-1])

结果:
z
m
  • 就像这样这就是字符串的索引,有很多细心的朋友会问中括号是干什么的,中括号内就是我们要写的索引号。

2.2 切片

  • 字符串的切片也是用索引来实现的不过需要两个数字,第一个数字表示开始的位置,然后用冒号,后面跟第二个数字,第二个数字表示终止的位置,需要注意,切片为左闭右开的区间
str_01 = 'zhmm'
print(str_01[0:2])
print(str_01[-3:-1])

结果:
zh
hm
  • 其实有个很简单的认识方法,那就是切片在终止的位置-1停止就好了

2.3 步长

  • 步长是基于切片的基础上在加上一个数字,第一个参数是起始位置,第二参数是终止位置,第三个参数现在告诉大家是步长(每次走几步)。
str_01 = 'zhmm'
print(str_01[0:3:2])
print(str_01[-4:-1:2]

结果:
zn
zn
  • 以上关于索引的用法,下面有一些练习题,大家可以自己去练习看看。
str_01 = 'hello world'
1. 获取字符串的前3位
2. 获取字符串的后3位
3. 获取eo
4. 获取dlrow olleh

3. 字符串的方法

更改大/小写

str_01 = 'Hello World'
str_01 = 'zhMm zs'
print(str_01.upper())      #upper() 将字符串内容全部变成大写
print(str_01.lower())	    #lower() 将字符串内容全部变成小写
print(str_02.capitalize())	 #capitalize() 将字符串的首字母改成大写
print(str_02.title())	     #title() 将字符串中的每个单词首字母改成大写
print(str_02.swapcase())	 #title() 将字符串中的每个字母的大小写转换

结果:
HELLO WORLD
hello world
ZhMm zs
ZhMm Zs
ZHmM ZS

以…开头/结尾

str_01 = 'Hello World'
print(str_01.stratswith(h))  		#stratswith() 判断是否以括号内的元素开头,返回布尔值
print(str_01.stratswith(H))
print(str_01.endswith(d)) 			#endswith() 判断是否以括号内的元素结尾,返回布尔值
print(str_01.endswith(D))

结果:
False
True
True
False

统计元素出现的次数

str_01 = 'Hello World'
print(str_01.count(l)) 			#count() 统计以括号内元素的出现次数
print(str_01.count(h))

结果:
3
0

str_01 = ' Hello World '
print(str_01.strip()) 			#strip() 默认脱去字符串两端的空格 换行符 制表符

str_02 = 'Hello WorldH '
print(str_01.strip(‘H’)) 		#strip(‘H’) 当括号内有元素时,脱去字符串两端的该元素

结果:
Hello World
ello WorldH

分割

str_01 = 'Hello World'
print(str_01.split()) 			    #split() 默认以空格分割 返回类表
print(str_01.split(‘l’)) 		    #split(‘l’) 当括号内有元素时,用该元素分割,所有的都分割
print(str_01.split(‘l’,2)) 		#split(‘l’,2) 当括号内有元素时且后面跟数字,表示从左向右 n个该元素切割

结果:
['Hello','World']
['He','','o','Wor','d']
['He','','o','Wol'd']

替换

str_01 = 'Hello World'
print(str_01.replace('l','a')) 		    #replace('l','a') 将字符串内的所有第一个元素,替换为第二个元素
print(str_01.replace('l','a',2)) 		    #replace('l','a','2') 将字符串内的n第一个元素,替换为第二个元素

结果:
heaao worad
heaao world

is相关

str_01 = 'Hello World1111'
print(str_01.isalnum()) 		    #isalnum()判断是不是字母或数字组成,返回结果是布尔值(中文也看成字母)
print(str_01.isdecimal()) 		    #isdecimao()判断是否是十进制,返回结果是布尔值
print(str_01.isdigit()) 			#isdecimao()判断是否是是数字,注意有个缺点是会将①这类的数字也看做数字,返回结果布尔值
print(str_01.isalpha()) 			#isalnum()判断是不是字母组成,返回结果是布尔值(中文也看成字母)

结果:
True
False
False
False

查找索引

str_01 = 'Hello World'
print(str_01.find('e')) 		    #find() 查找字符串内该元素的索引
print(str_01.find('l')) 		    #find() 查找字符串内该元素的索引,当该元素有多个时,只查找第一个就返回索引

结果:
1
2
  • 点赞
  • 收藏
  • 分享
  • 文章举报
Zh某某人 发布了5 篇原创文章 · 获赞 0 · 访问量 87 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: