Python学习(四)——数据类型之字符串

序列类型

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

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

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

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

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

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

字符串及其常见内置功能

字符串介绍: 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

index()

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

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

count()

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

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

strip()

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

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

startswith()、endswith()

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

a = "你好!"
print(a.startswith("你"))
print(a.startswith("我"))
print(a.endswith("!"))	# ! 分中英文
print(a.endswith("!"))
# 结果:True
# 		False
#		True
# 		False

isdigit()

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

a = "1234"
b = "ab12"
print(a.isdigit())
print(b.isdigit())
# 结果:True
#		False

upper()、lower()

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

a = "A1b2C3"
print(a.upper())
print(a.lower())
# 结果:A1B2C3
#		a1b2c3

split()

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

a = "how are you"
print(a.split(" "))
a = "Python、SQL、Java"
print(a.split("、"))
# 结果:['how', 'are', 'you']
# 		['Python', 'SQL', 'Java']

replace()

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

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

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

join()

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

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

公共功能

len()

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

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

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

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

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

for遍历

# for循环后面不跟range搭配,后面跟序列类型可以遍历
# 遍历就是把序列类型里面的值一个一个拿出来
for i in "hello":
    print(i)
# 结果:h
#		e
#		l
#		l
#		o
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mport

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值