当前位置:   article > 正文

Python学习(四)——数据类型之字符串_头歌python字符串长度

头歌python字符串长度

序列类型

基本数据类型可以分为三类:

  • 数值类型
    • 数字:int、float
    • 数值:bool
  • 序列类型:str
  • 散列类型

在序列中,每个元素都有属于自己的编号(也就是索引,即下标)。
如果索引超出了,就会报错,索引越界。

  • 下图为从左到右,索引值从0开始
    在这里插入图片描述
  • 下图为从右到左,索引值从-1开始(不管n的为几,只看索引)
    在这里插入图片描述
a = '一二三ABC'
print(a[0], '==', a[-6])
print(a[3], '==', a[-3])
# 结果:一 == 一
#		A == A
  • 1
  • 2
  • 3
  • 4
  • 5

可变类型和不可变类型的分类

不可变类型:数字、字符串、元组
可变类型:列表、字典、集合

字符串及其常见内置功能

字符串介绍: link

  • 语法:字符串名.方法名()

find()

范围性查找子串,返回索引值,没有则返回-1

  • 语法:
    • 字符串名.find(str,beg=0,end=len(string))
      • str——》指定检索的字符串
      • beg——》开始的索引,默认为0
      • end——》结束索引,默认为字符串的长度
a = 'hello world,I like python'
print(a.find('l'))	# 输出所出现的第一个子串的下标,默认从0开始查询
print(a.find('l', 3))	# 找到的是第二个'l',从下标为3的字符开始查询
print(a.find('world'))	# 若找到world,则返回首个字符串的下标
print(a.find('java'))	# 查询不到,则返回-1
print(a.rfind('l'))	# 从后往前查询 
# 空格也算一个字符
# 结果:2
#	    3
#		6
#		-1
#		14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

index()

范围性查找子串,返回索引值,没有则报错。

a = 'hello world,I like python'
print(a.index('world'))	# 若找到world,则返回首个字符串的下标	# 6
print(a.index('java'))	# 查询不到,则报错
  • 1
  • 2
  • 3

count()

返回找到的字符串个数,没有则返回0。

a = 'hello world,I like python'
print(a.count('l'))		# 4
print(a.count('a'))		# 0
  • 1
  • 2
  • 3

strip()

去除字符串两边的空格、换行符、制表符,获得一个新的字符串

a = " \nA1B2c3 \t"
print(a.strip())
# 结果:A1B2c3
  • 1
  • 2
  • 3

startswith()、endswith()

startswith():判断字符串是否以…开头,返回一个布尔值。
endswith():判断字符串是否以…结尾,返回一个布尔值。

a = "你好!"
print(a.startswith("你"))
print(a.startswith("我"))
print(a.endswith("!"))	# ! 分中英文
print(a.endswith("!"))
# 结果:True
# 		False
#		True
# 		False
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

isdigit()

判断字符串是否由数字组成,返回一个布尔值。

a = "1234"
b = "ab12"
print(a.isdigit())
print(b.isdigit())
# 结果:True
#		False
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

upper()、lower()

upper():将字符串中的小写字母转换成大写字母,得到一个新的字符串。
lower():将字符串中的大写字母转换成小写字母,得到一个新的字符串。

a = "A1b2C3"
print(a.upper())
print(a.lower())
# 结果:A1B2C3
#		a1b2c3
  • 1
  • 2
  • 3
  • 4
  • 5

split()

将字符串以…为标志,切分为列表。

a = "how are you"
print(a.split(" "))
a = "Python、SQL、Java"
print(a.split("、"))
# 结果:['how', 'are', 'you']
# 		['Python', 'SQL', 'Java']
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

replace()

将字符串中指定的内容替换成给定的内容。

replace(要替换的字符,替换成的字符)

a = "hi!python"
print(a.replace("h","a"))
# 结果:ai!pytaon
  • 1
  • 2
  • 3

join()

将序列中的元素,用给定的字符串连接起来,生成一个新字符串。
常用于序列类型转化成字符串。

a = {"Hi","!","Good","morning","."}	# 字典 顺序随机
print(" ".join(a))	# 空格连接
b = ["Hi","!","Good","morning","."]	# 列表
print("-".join(b))	
# 结果:! . morning Good Hi
#		Hi-!-Good-morning-.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

公共功能

len()

查看长度,并不仅限于查看字符串的长度

s = "hello,python"
print(len(s))
print(s[len(s)-1])  # 取最后一个值
print(s[-len(s)])   # 第一个
# 结果:12
#		n
#		h
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

切片(顾头不顾尾,步长)

顾头不顾尾
切片如果超出长度,也不会出现索引越界的异常错误。

s = "hello python"
print(s[0:7])  # 取下标为0~7的值,下标为7的值不取
print(s[:])  # 取到从头到尾所有的值
print(s[:9])  # 开始默认为0,取下标为0~9的值,下标为9的值不取
# 结果:hello p
#		hello python
#		hello pyt

# 步长
print(s[0:7:2]) # 第三个参数2代表步长,会从0开始,每次累加一个2,所以回去出索引为0,2,4,6的字符
# 结果:hlop

# 反向切片
print(s[::-1]) #-1表示的是从右往左依次取值,反向取值,步长为负数就是从右往左,首尾不给值就是取所有
# 结果:nohtyp olleh
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

for遍历

# for循环后面不跟range搭配,后面跟序列类型可以遍历
# 遍历就是把序列类型里面的值一个一个拿出来
for i in "hello":
    print(i)
# 结果:h
#		e
#		l
#		l
#		o
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/712992
推荐阅读
相关标签
  

闽ICP备14008679号