菜鸟笔记-11.Python字符串

在前面的学习中,多次出现字符串相关信息,到底什么是字符串,其相关知识点有什么,本节内容将会讲清楚。

11.1什么是字符串

字符串(String)是Python中的一种基本数据类型,用来存储文本信息。它是由一系列字符(包括字母、数字、标点符号等)组成的序列。

11.2字符串的创建

在Python中,创建字符串非常简单。你可以使用单引号(' ')、双引号(" ")或三引号(''' ''' 或 """ """)来创建字符串。例如:

s1 = 'Hello, world!'  # 使用单引号
s2 = "I'm a programmer."  # 使用双引号,可以包含单引号
s3 = '''This is a   
multiline   
string.'''  # 使用三引号,可以创建多行字符串
print(s1)
print(s2)
print(s3)

11.3字符串的基本使用

11.3.1字符串的理解

python 中的字符串被单引号或双引号包围。'hello’与"hello"相同。您可以使用以下print()函数显示字符串文字:

print("Hello")
print('Hello')

11.3.2将字符串分配给变量

a = "菜鸟"
print(a)

11.3.3多行字符串

可以使用三个引号将多行字符串分配给变量:

a = """从前有座山,
山里有座庙
庙里有个小和尚"""
print(a)

或者采用三个单引号:

a = '''从前有座山,
山里有座庙
庙里有个小和尚'''
print(a)

11.3.4字符串是数组

Python 没有字符数据类型,单个字符只是一个长度为 1 的字符串。方括号可用于访问字符串的元素。这里用到了切片,在11.5中会进行详细介绍。获取位置 0处的字符(记住第一个字符的位置为 0),例如:

a = "Hello, World!"
print(a[0])

11.3.5遍历字符串 

 循环遍历单词“菜鸟”中的字母:

for x in "cainiao":
  print(x)

11.3.6字符串长度 

 使用len()函数返回字符串的长度,注意标点符号和空格也算一个长度:

a = "Hello, World!"
print(len(a))

11.3.7检查字符串 

 要检查字符串中是否存在某个短语或字符,我们可以使用关键字 in。例如:

txt = "The best things in life are free!" 
print("free" in txt)

 返回结果为布尔类型(True代表有):

 也可以通过if来判断是否存在:

txt = "The best things in life are free!"
if "free" in txt:
  print("是的, 'free'存在.")

 如果检查不是,则:

txt = "The best things in life are free!" 
print("FREE" in txt)

因为FREE没有在字符串中,所以检查结果为False。

11.4字符串的操作 

11.4.1连接字符串

 使用 + 运算符可以将两个字符串连接起来。例如:

s1 = 'Hello, world!'  # 使用单引号
s2 = "I'm a programmer."  # 使用双引号,可以包含单引号
s3 = '''This is a   
multiline   
string.'''  # 使用三引号,可以创建多行字符串
s4 = s1 +  s2  # 结果为 'Hello, world! I'm a programmer.'
print(s4)

如果想让两个字符串中间留有间隔,可采用'    '的方式。例如:

s1 = 'Hello, world!'  # 使用单引号
s2 = "I'm a programmer."  # 使用双引号,可以包含单引号
s3 = '''This is a   
multiline   
string.'''  # 使用三引号,可以创建多行字符串
s4 = s1 + '      '+ s2  # 结果为 'Hello, world! I'm a programmer.'
print(s4)

11.4.2查找子串

使用 find() 或 index() 方法可以查找子串在字符串中的位置。如果找到,返回子串的起始索引;否则返回-1。例如:

s = 'Hello, world!'
print(s.find('world'))  # 输出 7,因为 'world' 在 s 中从索引7开始
print(s.find('Python'))  # 输出 -1,因为 'Python' 不在 s 中

11.4.3替换子串

使用 replace() 方法可以替换字符串中的子串。

s = 'Hello, world!'
s5 = s.replace('world', 'Python')  # 将 'world' 替换为 'Python'
print(s5)  # 输出 'Hello, Python!'

11.4.5替换字符串 

replace()方法用另一个字符串替换一个字符串。

a = "Hello, World!"
print(a.replace("H", "J"))

11.4.5大小写转换

 使用 lower()upper() 和 capitalize() 方法可以进行大小写转换。

s = 'Hello, world!'
print(s.lower())  # 输出 'hello, world!',全部转换为小写
print(s.upper())  # 输出 'HELLO, WORLD!',全部转换为大写
print(s.capitalize())  # 输出 'Hello, world!',首字母大写,其余小写

11.4.6格式化字符串 

Python中有多种格式化字符串的方法,如 % 运算符、format() 方法和 f-string。以下是使用 format() 方法的例子:

name = '张三'  
age = 25  
print('我的名字是{},我{}岁了。'.format(name, age))  # 输出 '我的名字是张三,我25岁了。'

11.4.6删除空格 

 空白是实际文本之前和/或之后的空间,通常您想删除这个空间。strip()方法从开头或结尾删除任何空格:

a = "          Hello,World!        "
print(a.strip())

11.4.7拆分字符串 

split()方法返回一个列表,其中指定分隔符之间的文本成为列表项。split()如果找到分隔符的实例,该方法会将字符串拆分为子字符串。例如我要将下面的字符串以逗号分隔:

a = "Hello, World!"
print(a.split(","))

11.5索引和切片

我们可以通过索引来访问字符串中的单个字符,或使用切片来获取子串。索引从0开始计数。

s = 'Hello, world!'  
print(s[0])  # 输出 'H',第一个字符  
print(s[7])  # 输出 'w',第八个字符  
print(s[2:5])  # 输出 'llo',从第三个字符开始,到第五个字符结束(不包括第五个)

11.5.1切片 

我们可以使用切片语法返回一系列字符。指定开始索引和结束索引,以冒号分隔,以返回字符串的一部分。示例:获取从位置 2 到位置 5 的字符(不包括在内):

b = "Hello, World!"
print(b[2:5])

注意:第一个字符的索引为 0。

11.5.2从头开始切片 

 示例:获取从开始到位置 5 的字符(不包括在内):

b = "Hello, World!"
print(b[:5])

11.5.3切到最后

通过省略结束索引,范围将到最后。例如,获取从位置 2 到最后的字符:

b = "Hello, World!"
print(b[2:])

11.5.4负索引 

使用负索引从字符串末尾开始切片,就是从右往左看,不再是从左往右看。例如: 

b = "Hello, World!"
print(b[-5:-2])

11.6字符串的其他处理方法总结

  1. casefold() 将字符串转换为小写
  2. center() 返回一个居中的字符串
  3. count() 返回指定值在字符串中出现的次数
  4. encode() 返回字符串的编码版本
  5. endswith() 如果字符串以指定的值结尾,则返回 true
  6. join() 将可迭代的元素连接到字符串的末尾
  7. index() 在字符串中搜索指定值并返回找到它的位置

关于字符串的处理方法还有很多,对于一些不是很常用的就没在这里总结了,大家可以根据项目需要进行学习,也欢迎大家分享与补充。 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Py小趴

整理不易,感谢金主!

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

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

打赏作者

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

抵扣说明:

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

余额充值