全网最全Python系列教程(非常详细)---字符串讲解(学Python入门必收藏)

🧡🧡🧡这篇是关于Python中字符串的讲解,涉及到以下内容,欢迎点赞和收藏,你点赞和收藏是我更新的动力🧡🧡🧡

在这里插入图片描述
本文将从以下几个方面展开对字符串的讲解:

1、字符串的概念,到底什么是字符串
2、字符串表现形式有哪些
3、字符串每个形式有什么特点
4、字符串的一般操作有哪些
5、字符串有哪些函数、方法需要了解

字符串

  • 1 字符串的概念
  • 2 字符串表现形式
    • 2.1 非原始字符串
    • 2.2 转义字符
    • 2.3 原始字符
  • 3 各个形式字符串的特点
  • 4 字符串的一般操作
    • 4.1 字符串拼接
    • 4.2 字符串切片
  • 5 查找操作
    • 5.1 len()函数
    • 5.2 find()方法
    • 5.3 index()方法
    • 5.4 count()方法
  • 6 转换
    • 6.1 replace()方法
    • 6.2 capitalize()方法
    • 6.3 title()方法
    • 6.4 low()方法
    • 6.5 upper()
  • 7 填充压缩
    • 7.1 ljust()方法
    • 7.2 rjust()方法
    • 7.3 center()方法
    • 7.4 lstrip()方法
    • 7.5 rstrip()方法
  • 8 分割拼接
    • 8.1 split()方法
    • 8.2 partition()方法
    • 8.3 rpartition()方法
    • 8.4 splitlines()方法
    • 8.5 join()方法
  • 9 判定
    • 9.1 isalpha()方法
    • 9.2 isdigit()方法
    • 9.3 isalnum()方法
    • 9.4 isspace()方法
    • 9.5 startwith()方法
    • 9.6 endswith()方法
    • 9.7 in/not in

1 字符串的概念

字符串,字符串,我们日常生活中总是在说字符串,到底什么是字符串呢?

在这里插入图片描述

在这里插入图片描述
字符串就好像我们吃过的糖葫芦,一串上面有多个糖葫芦


2 字符串表现形式

2.1 非原始字符串

在这里插入图片描述

str1 = 'helloword'
str2 = "helloword"
str3 = """helloword"""
str4 = '''helloword'''print(str1, str2, str3, str4)

创建好了字符串,我们如何验证该数据类型就是字符串呢?

str1 = 'helloword'
str2 = "helloword"
str3 = """helloword"""
str4 = '''helloword'''# 使用type()函数可以查看数据类型
print(type(str1), type(str2), type(str3), type(str4))

2.2 转义字符

在这里插入图片描述
如何理解转义字符?
转义字符就是,通过转换某个指定字符,使它具备特殊的含义

# 比如,我要在单引号的字符串中打印单引号
str1 = 'hell'o'
print(str1)

在这里插入图片描述

正确的使用转义字符

# 比如,我要在单引号的字符串中打印单引号
str1 = 'hell'o'
print(str1)

2.3 原始字符

在这里插入图片描述
前面说到了转义字符,现在来看看原始字符串

# 原始字符串
# 原始字符串可以让转义字符失效
str1 = r'hell\'o'
print(str1)str2 = r"hell\"o"
print(str2)str3 = r'hello\nword'
print(str3)str4 = r'hello\tword'
print(str4)


3 各个形式字符串的特点

在这里插入图片描述

# 单引号、双引号混合使用可以避免使用转义字符
str1 = "hello'sword"
print(str1)str2 = 'hello"sword'
print(str2)
# 在Pycharm中,在字符串中,按下回车,会自动添加换行符
str1 = "hello's" \"word"

在这里插入图片描述

在这里插入图片描述

str1 = """hello
word
python
"""print(str1)'''
三引号可以直接用于多行注释
对程序起到解释作用
'''def fun():"""三引号可以作为文档字符串,用来解释该函数的作用:return:"""pass

在这里插入图片描述


4 字符串的一般操作

4.1 字符串拼接

在这里插入图片描述

str1 = 'hello'
str2 = 'word'print(str1+str2)

在这里插入图片描述

print('hello''word')

在这里插入图片描述

str1 = 'hello'
str2 = 'word'print('我将要打印:%s' % (str1+str2))

在这里插入图片描述

在这里插入图片描述

str1 = 'hello'
str2 = 'word'print(str1 * 10)print(str2 * 5)

4.2 字符串切片

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

如何理解下标?
下标也可以理解为索引,通过下标我们可以获取某一具体的元素
下标的概念和座位编号的概念很像,我们通过座位编号可以找到座位上的人
有正下标也有负下表

str1 = 'ILovePython'print(str1[0])
print(str1[-1])
print(str1[20])

在这里插入图片描述

注意 注意 注意
索引下标千万不要越界
索引下标千万不要越界
索引下标千万不要越界

在这里插入图片描述

str1 = 'ILovePython'print(str1[:])  # 默认获取整个字符串print(str1[::-1])  # 反转字符串# 切片操作一般有三个参数,起始位置,终止位置以及步长
print(str1[1:4])  # 从左到右切片,步长为正print(str1[4:1:-1])  # 从右往左切片,步长为负


5 查找操作

在这里插入图片描述

5.1 len()函数

在这里插入图片描述

str1 = 'ILovePython'
str2 = '中国'
str3 = 'hello\nword'
str4 = 'hello\ nword'print(len(str1))
print(len(str2))
print(len(str3))
print(len(str4))

在这里插入图片描述

5.2 find()方法

在这里插入图片描述

str1 = 'ILovePython'# 查找子串的索引位置,从左边往右边开始查找
print(str1.find('Py'))# 可以指定检索起始位置和检索结束位置
# 起始位置可以取,结束位置取不到,是一个半开区间
print(str1.find('Py', 2, len(str1)))

在这里插入图片描述

5.3 index()方法

在这里插入图片描述
使用方式和index一样,但是当子串没有查询到的时候就不一样

对比index()和find()
在这里插入图片描述
在这里插入图片描述

5.4 count()方法

在这里插入图片描述

str1 = 'PythonILovePythonPython'print(str1.count('Py'))


6 转换

6.1 replace()方法

在这里插入图片描述

str1 = 'PythonILovePythonPython'str2 = str1.replace('Py', 'PPP')
str3 = str1.replace('Py', 'PPP', 2)print(str2)
print(str3)

在这里插入图片描述

6.2 capitalize()方法

在这里插入图片描述

str1 = 'python I Love python python'print(str1.capitalize())

6.3 title()方法

在这里插入图片描述

str1 = 'python I Love python python'print(str1.capitalize())print(str1.title())

capitalize()和title()区别
在这里插入图片描述

6.4 low()方法

在这里插入图片描述

str1 = 'python I Love pyTHON python'print(str1.lower())

6.5 upper()

在这里插入图片描述

str1 = 'python I Love pyTHON python'print(str1.upper())


7 填充压缩

在这里插入图片描述

7.1 ljust()方法

在这里插入图片描述

str1 = 'python'# 指定结果字符串长度,指定填充字符(注意是单个字符)
print(str1.ljust(10, 's'))# 如果指定结果字符串长度小于原始字符串长度,则不会发生填充,返回原字符串
print(str1.ljust(5, 's'))

7.2 rjust()方法

在这里插入图片描述
原理和ljust()方法一样,不过这是原字符串靠右

7.3 center()方法

在这里插入图片描述

str1 = 'python'# 指定字符串长度,指定填充字符
print(str1.center(20, 's'))

7.4 lstrip()方法

在这里插入图片描述

str1 = 'pypy pythonppythonython'print(str1.lstrip('py'))

在这里插入图片描述

7.5 rstrip()方法

在这里插入图片描述
从右侧开始移除
具体使用参考lstrip()


8 分割拼接

8.1 split()方法

在这里插入图片描述

str1 = 'python_python_python_python_python'# 第一个参数为依据什么进行分割,第二个参数为最大分割次数(可以省略,默认全部分割)
# 返回的是一个分割之后的列表
print(str1.split('_'))print(str1.split('_', 2))

在这里插入图片描述

8.2 partition()方法

在这里插入图片描述

str1 = 'python_python_python_python_python'# 指定分隔符,返回一个含有三个元素的元组
# 分隔符左侧内容 分隔符 分隔符右侧内容
print(str1.partition('_'))# 如果没有找到分隔符就会返回一个元组,该元组为默认形式
print(str1.partition('!'))

8.3 rpartition()方法

在这里插入图片描述
用法参考partition()方法

8.4 splitlines()方法

在这里插入图片描述

str1 = 'python\npython\tpython\tpython\npython'print(str1.splitlines())print(str1.splitlines(keepends=True))

8.5 join()方法

在这里插入图片描述

在这里插入图片描述

str1 = 'python'print(str1.join('hello'))# 注意:这里的元组、列表以及其他可迭代对象中必须是字符类型数据
tup1 = ('1', '2', '3')
print(str1.join(tup1))


9 判定

9.1 isalpha()方法

在这里插入图片描述

str1 = 'python'print(str1.isalpha())

9.2 isdigit()方法

在这里插入图片描述

9.3 isalnum()方法

在这里插入图片描述

9.4 isspace()方法

在这里插入图片描述

9.5 startwith()方法

在这里插入图片描述

9.6 endswith()方法

在这里插入图片描述

这个方法比较有用,因为我们在读取一个文件的时候,可以判断这个文件是否以某个文件后缀结尾

str1 = 'python.doc'print(str1.endswith('doc'))

9.7 in/not in

在这里插入图片描述



😁😁😁觉得对自己有帮助的小伙伴可以👍关注💡收藏💖😁😁😁

👉👉👉有误的地方也可以在评论区讨论哦👈👈👈

希望本文能够对大家有帮助~!


往期推荐
🚀🚀🚀全网最全Python系列教程(非常详细)—数值篇讲解(学Python入门必收藏)🚀🚀🚀

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/89010.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用docker快速部署MinDoc文档系统

MinDoc是非常优秀的知识分享系统,但是很多刚接触的人会一脸懵逼,而且官方文档写的也并不清晰,所以和大家分享一下快速部署MinDoc的方法。 首先docker环境先自行安装好,这里不再赘述。 拉取docker镜像: docker pull …

【开发篇】九、SpringBoot整合ES(ElasticSearch)

文章目录 1、整合2、简单示例3、一点补充4、增删改查索引与文档 1、整合 整合思路都一样&#xff0c;先起步依赖或普通依赖&#xff0c;再配置&#xff0c;再封装的操作对象。先引入依赖&#xff1a; <dependency> <groupId>org.springframework.boot</grou…

基于Java的电影评论网站设计与实现

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于Java的电影评论网站…

IntelliJ IDEA - Maven 在控制台Maven编译正常,但是在IDEA中不正常,表现不一致

文章目录 现象原因解决验证 现象 一个Maven项目&#xff0c;当导入到IDEA后&#xff0c;无法在IDEA中正常的编译和下载jar依赖&#xff0c;类似下面的截图。 但是在Windows控制台却可以正常编译&#xff0c;类似下面的截图。 CMD执行&#xff1a;mvn clean install -Dmaven.te…

水库河道生态流量监测系统的主要内容

一、系统背景 我国为保护河流生态环境&#xff0c;推动水资源科学、合理、有序开发和可持续利用&#xff0c;各地水利和环保部门相继出台措施对不满足生态流量下泄要求的水电站责令整改或挂牌督办。近几年几百家水库在各个主要流域建成&#xff0c;由于缺乏对各个水库生态下泄流…

为什么说软文能够扩大中小企业的品牌影响力?

在当今的商业环境中&#xff0c;品牌影响力对于企业的成功至关重要。对于中小企业来说&#xff0c;利用软文来打造品牌影响力是一种成本低且效果更高的方式。为什么说软文能够扩大中小企业的品牌影响力呢&#xff1f;下面就让媒介盒子告诉你。 一、塑造品牌形象 首先&#xff…

走心分享!天津诚筑说Java大数据培训我该如何选择?

随着互联网的发展&#xff0c;IT行业变得越来越炙手可热&#xff0c;其中较为火热的当属大数据和Java了&#xff0c;许多学员都很纠结&#xff0c;Java和大数据我应该如何选择呢?今天小编带大家了解一下Java和大数据之间的区别&#xff01; Java和大数据的关系 Java是一种面…

搭建安信可小安派Windows 开发环境

搭建小安派Windows 开发环境 Ai-Pi-Eyes 系列是安信可开源团队专门为Ai-M61-32S设计的开发板&#xff0c;支持WiFi6、BLE5.3。所搭载的Ai-M61-32S 模组具有丰富的外设接口&#xff0c;具体包括 DVP、MJPEG、Dispaly、AudioCodec、USB2.0、SDU、以太网 (EMAC)、SD/MMC(SDH)、SP…

Mojo:新AI语言中的7个惊人的Python升级

一、说明 AI发展是日新月异的&#xff0c;对于新模型的产生&#xff0c;我们不能不给以关注。Mojo就是一种新发布的编程语言&#xff0c;专为AI开发人员制作&#xff0c;由Modular制作&#xff0c;Modular是一家由Swift的原始创建者Chris Lattner创立的公司。 二、关于MOJO的概…

vue实现移动端悬浮可拖拽按钮

需求&#xff1a; 按钮在页面侧边悬浮显示&#xff1b;点击按钮可展开多个快捷方式按钮&#xff0c;从下向上展开。长按按钮&#xff0c;则允许拖拽来改变按钮位置&#xff0c;按钮为非展开状态&#xff1b;按钮移动结束&#xff0c;手指松开&#xff0c;计算距离左右两侧距离…

uniapp使用scroll-into-view实现锚点定位和滚动监听功能【楼层效果 / 侧边导航联动效果】

大佬网址&#xff1a; https://blog.csdn.net/weixin_47136265/article/details/132303570 效果 代码 <template><view class"main"><scroll-view scroll-y"true" class"left-content"><view class"left-item"…

目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)

文章目录 一、演示多分类效果二、PaddleClas介绍三、代码获取四、数据集获取五、环境搭建六、数据格式分析七、模型训练7.1 模型恢复训练7.2 多卡训练7.3 其他训练指标 八、模型预测九、模型评估十、PaddleClas相关博客 一、演示多分类效果 二、PaddleClas介绍 PaddleClas主要…

Java实现文档格式转换与模板渲染 LibreOffice jodconverter

Java Office 一、文档格式转换 文档格式转换是office操作中经常需要进行一个操作&#xff0c;例如将docx文档转换成pdf格式。 java在这方面有许多的操作方式&#xff0c;大致可以分为内部调用&#xff08;无需要安装额外软件&#xff09;&#xff0c;外部调用&#xff08;需…

【boost网络库从青铜到王者】第七篇:asio网络编程中的异步echo服务器,以应答为主

文章目录 1、简介2、echo模式应答异步服务器2.1、Session会话类2.2、Server类为服务器接收连接的管理类 3、客户端4、隐患5、总结 1、简介 前文已经介绍了异步操作的api&#xff0c;今天写一个简单的异步echo服务器&#xff0c;以应答为主。 2、echo模式应答异步服务器 2.1、…

【钻石OA】1区SCI,无需版面费,仅2个月录用!

重 点 本期推荐 本期小编给大家推荐的是无需版面费的1区农林科学类SCI&#xff08;钻石OA&#xff09;。 目前进展顺利&#xff0c;在WOS数据库中各项指标表现良好&#xff0c;且无预警记录。 领域符合录用率高&#xff0c;1区SCI最快2个月录用&#xff01; 期刊官网系统提…

零距离揭秘绝地求生:玩家最关心的吃鸡要领和细节全攻略!

绝地求生作为当下最火爆的吃鸡游戏&#xff0c;吸引了无数玩家的关注和参与。然而&#xff0c;要成为顶尖的吃鸡玩家&#xff0c;并不简单。在这篇文章中&#xff0c;我们将为你揭露绝地求生玩家最关心的吃鸡要领和细节&#xff0c;为你提供一份全方位的游戏指南&#xff01; 1…

vue内置组件Transition的详解

1. Transition定义 Vue 提供了两个内置组件&#xff0c;可以帮助你制作基于状态变化的过渡和动画&#xff1a; <Transition>会在一个元素或组件进入和离开 DOM 时应用动画。 <TransitionGroup> 会在一个 v-for 列表中的元素或组件被插入&#xff0c;移动&#xff0…

八大排序详解

目录 1.排序的概念及应用 1.1 排序的概念 1.2 排序的应用 1.3 常见的排序算法 2.常见排序算法的实现 2.1 直接插入排序 2.1.1 基本思想 2.1.2 动图解析 2.1.3 排序步骤&#xff08;默认升序&#xff09; 2.1.4 代码实现 2.1.5 特性总结 2.2 希尔排序 2.2.1 基本思…

修改Jenkins主目录

Windows系统上安装了Jenkins后&#xff0c;默认数据目录&#xff0c;也就是工作区目录&#xff0c;即&#xff1a;每次构建的项目数据文件所在目录为&#xff1a; 随着构建项目的增多&#xff0c;一直用这个目录&#xff0c;C盘东西越来越多&#xff0c;电脑就会越来越卡&#…

【链表】排序链表-力扣148题

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…