首页 > 编程语言 >【python系列】python数据类型之字符串

【python系列】python数据类型之字符串

时间:2024-11-15 23:45:13浏览次数:3  
标签:字符 python 数据类型 print 字符串 world hello

1.前言

字符串是编程中最常用的数据类型,这章需要针对字符串进行讲解。
字符串的定义:

字符串(英语:string),是由零个或多个字符组成的有限序列。——Wikipedia

python官方文档:https://docs.python.org/zh-cn/3.10/library/stdtypes.html#text-sequence-type-str

字符串是由 Unicode 码位构成的不可变 序列。—— python官方文档

在这里插入图片描述
从定义上看,我们知道字符串是零个或多个字符有序且不可变序列。

字符串字面值有多种不同的写法:

  • 单引号: ‘允许包含有 “双” 引号’
  • 双引号: “允许嵌入 ‘单’ 引号”
  • 三重引号: ‘’‘三重单引号’‘’, “”“三重双引号”“”

使用三重引号的字符串可以跨越多行 —— 其中所有的空白字符都将包含在该字符串字面值中。

2.常用的字符串基本操作

在Python中,字符串是一个非常常见的、内置的类型,它支持多种基本操作。以下是一些常用的字符串基本操作:

1. 成员运算符 (in, not in)

  • 用来检查一个子字符串是否存在于另一个字符串中。
s = "hello world"
print("hello" in s)   # True
print("world" not in s)  # False

2. 连接运算符 (+)

  • 用于连接两个字符串。
s1 = "hello"
s2 = "world"
result = s1 + " " + s2  # "hello world"

3. 重复运算符 (*)

  • 用于重复字符串的内容。
s = "hello"
result = s * 3  # "hellohellohello"

4.索引和切片

  • 字符串是有序的,可以使用索引和切片操作。
s = "hello world"
print(s[0])   # 'h',索引从0开始
print(s[-1])  # 'd',负数索引从末尾开始
print(s[0:5]) # 'hello',从0到4的字符
print(s[:5])  # 'hello',从开头到4的字符
print(s[6:])  # 'world',从索引6开始到末尾
print(s[1:5:3]) # 'hello', 从索引1开始,每隔 3 个字符取一个字符

5. 大小写转换

  • 字符串可以通过各种方法转换大小写。
s = "Hello World"
print(s.lower())  # "hello world"
print(s.upper())  # "HELLO WORLD"
print(s.title())  # "Hello World"
print(s.swapcase())  # "hELLO wORLD"

6. 去除空白字符 (strip(), lstrip(), rstrip())

  • 用来去掉字符串两端的空白字符。
s = "  hello world  "
print(s.strip())   # "hello world",去掉两边的空格
print(s.lstrip())  # "hello world  ",去掉左边的空格
print(s.rstrip())  # "  hello world",去掉右边的空格

7. 替换子字符串 (replace())

  • 用于替换字符串中的指定子字符串。
s = "hello world"
print(s.replace("world", "Python"))  # "hello Python"

8. 分割字符串 (split())

  • 用指定分隔符将字符串分割成多个子字符串,返回一个列表。
s = "apple,banana,cherry"
fruits = s.split(",")  # ['apple', 'banana', 'cherry']

9. 查找子字符串 (find(), index())

  • find()返回子字符串首次出现的位置,如果找不到返回-1;index()也是查找,但如果找不到会抛出异常。
s = "hello world"
print(s.find("world"))  # 6
print(s.index("world")) # 6
print(s.find("Python")) # -1

10. 判断字符串类型 (startswith(), endswith())

  • 检查字符串是否以某个子字符串开始或结束。
s = "hello world"
print(s.startswith("hello"))  # True
print(s.endswith("world"))   # True

11. 字符串长度 (len())

  • 获取字符串的长度(字符个数)。
s = "hello"
print(len(s))  # 5

12. 字符串格式化 (format(), f-strings)

  • 在字符串中插入变量值或表达式。
name = "gaoluchuan"
age = 25
# 使用`format()`
print("My name is {} and I am {} years old.".format(name, age))  # "My name is gaoluchuan and I am 25 years old."
# 使用f-string(Python 3.6+)
print(f"My name is {name} and I am {age} years old.")  # "My name is gaoluchuan and I am 25 years old."

13. 字符串对齐 (ljust(), rjust(), center())

  • 用指定的字符填充字符串,使其在指定宽度内对齐。
s = "hello"
print(s.ljust(10, "-"))  # "hello-----"
print(s.rjust(10, "-"))  # "-----hello"
print(s.center(10, "-")) # "--hello---"

14. 字符串转义

  • 用反斜杠(\)来转义特殊字符。
s = "Hello\nWorld"
print(s)  # "Hello"换行"World"
s2 = "He said, \"Hello!\""
print(s2)  # He said, "Hello!"

这些基本操作提供了丰富的字符串处理能力,适用于字符串的查找、替换、格式化、分割、对齐等多种需求。

字符串的操作方法有几十种,除了上面常用的方法,还需要根据官方文档中的每个方法逐个练习。
python官方文档:https://docs.python.org/zh-cn/3.10/library/stdtypes.html#text-sequence-type-str

3.总结

字符串作为最常用的文本数据类型,操作方法确实太多了,如果想学好,没有捷径,就是多练习,还有一个很重要的问题是,把每个str方法的英文语法和语义确保都能看懂,使用中遇到问题可以快速通过查看英文提示进行理解。
在这里插入图片描述

标签:字符,python,数据类型,print,字符串,world,hello
From: https://blog.csdn.net/gaolc888/article/details/143773681

相关文章

  • 基于大数据 Python 歌曲筛选爬虫数据分析可视化系统(源码+LW+部署讲解+数据库+ppt)
    !!!!!!!!!选题不知道怎么选不清楚自己适合做哪块内容都可以免费来问我避免后期給自己答辩找麻烦增加难度(部分学校只有一次答辩机会没弄好就延迟毕业了)会持续一直更新下去有问必答一键收藏关注不迷路源码获取:https://pan.baidu.com/s/1aRpOv3f2sdtVYOogQjb8jg?pwd=jf1d提取码:......
  • python课程设计图书管理系统
    带有登录以及功能两层结构的图书管理系统,具有管理员模式与普通用户模式users={'管理员':{'password':'123456','role':'admin'}}books={'明朝那些事儿':{'price':20,'information':'无'}}books_list=[]d......
  • 基于python+django的Spark的国漫推荐系统的设计与实现
    前言基于python+django的Spark国漫推荐系统能为国漫爱好者提供精准的内容推荐。系统先收集大量国漫数据,包括国漫名称、类型、作者、制作公司、评分、播放量、剧情简介、人物设定等信息。利用Spark的分布式计算能力对这些数据进行处理和存储。在用户方面,当新用......
  • 基于python+django的Hadoop的短视频数据分析的设计与实现
    前言基于python+django的Hadoop短视频数据分析系统可充分挖掘短视频数据价值。从各大短视频平台接口等多种数据源采集数据,利用Hadoop分布式存储海量短视频的基本信息、用户信息、播放量、点赞数、评论内容等。借助python数据分析库和django框架,清洗、预处理......
  • <QNAP 453D QTS-5.x> 日志记录:在 NAS 从 huggingface_hub 下载模型 google-t5/t5-base,在
    目的:离线使用 google-t5/t5-base预训练模型, 行多种自然语言处理任务:翻译可借不支持东亚语言。Project-22.Ai-1.T5-base只能在:  English,French,Romanian,German间使用,code非常简单,大概沾到本地/离线使用模型的皮毛。运行这么小的模型,也使我的笔记拔高了,硬件要......
  • 【Python入门】掌握Python的上下文管理:with-as 语句全解析
    ......
  • Python 中常用的格式符号
    Python中的格式化操作主要有以下几种方式:1.百分号`%`格式化常用格式符号2.`str.format()`方法3.f-string格式化(Python3.6+)f-string进阶用法1.百分号%格式化百分号格式化在Python中最早被用来格式化字符串,类似于C语言中的printf。它用%操......
  • 构造方法,static,final关键字,字符串拼接,基本数据类型、包装类转String,String转基本
    1.构造方法的特点1.每一个类都至少有一个构造方法,默认是无参的构造方法。一旦写了有参的构造方法,那么无参的构造方法就丢失了,需要自己显式的写出无参构造方法。一般只要是显式写出构造方法,无参的构造方法是必须要构造的。2、构造方法,方法名必须和类名保持一致,并且没有返回值,......
  • 告别Print,使用IceCream进行高效的Python调试
    在Python开发实践中,调试是一个不可或缺的环节。如果采用print()语句来追踪程序执行流程,可能会遇到一个持续出现的异常情况,并且经过多次代码审查问题的根源仍然难以确定,这可能是因为随着终端输出信息的不断增加,这种调试方式的局限性逐渐显现。本文将介绍IceCream库,这个专门用于......
  • 大数据项目-Django基于Python实现的农产品销售量数据分析与可视化系统
    《[含文档+PPT+源码等]精品Django基于Python实现的农产品销售量数据分析与可视化系统》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、包运行成功以及课程答疑与微信售后交流群、送查重系统不限次数免费查重等福利!数据库管理工具:phpstudy/Navicat或者phpstudy/sqly......