全网最全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 …

利用 Forcing InnoDB Recovery 特性解决 MySQL 重启失败的问题

问题 由于异常断电或者系统异常重启时 MySQL 没有正常退出导致 MySQL 无法启动,启动时报错如下: [System] [Server] /usr/sbin/mysqld (mysqld 8.0.30) starting as process 2665 [System] [InnoDB] InnoDB initialization has started. [System] [Inn…

golang 对不同结构体中数据进行相互转换的几种常用方法

常用的不同结构体中的数据相互转换的方法 1. 利用json包的marshal和unmarshal 要求:json标签的值必须一致 示例: package main import ("encoding/json""fmt" ) type A struct {Name string json:"name"Age int json:"age&qu…

【开发篇】九、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的电影评论网站…

内存泄漏,内存溢出,抽象类和接口,netstat、ping、ifconfig的区别

持续学习是我们必备的技能之一&#xff0c;保持与时俱进&#xff0c;保持行业的敏感度&#xff0c;关注行业发展趋势&#xff0c;了解新技术&#xff0c;加强自己的认知&#xff0c;积极的应对变化 内存泄漏 memory leak 是指程序在申请内存后&#xff0c;无法释放已申请的内…

Oracle去重去空

1. -- 去重函数 DISTINCT SELECT DISTINCT E.JOB FROM EMP E -- 只能放在 SELECT 后面,或 函数的括号里面 2. -- 分组去重 SELECT E.JOB FROM EMP E GROUP BY E.JOB -- 去空值 NVL (字段,默认值) -- 空值特性: 1. 空值和任何值进行算术运算都为空 2. 空值跟任何进行…

Linux centos7压缩包安装mysql-8.0.34 并设置开机自启

下载安装解包 并解压 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.34-linux-glibc2.12-x86_64.tar.xztar -xf mysql-8.0.34-linux-glibc2.12-x86_64.tar.xzmv mysql-8.0.34-linux-glibc2.12-x86_64 /usr/local/mysql初始化数据及安装操作 配置mysql配置文…

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

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

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

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

蓝牙核心规范(V5.4)11.5-LE Audio 笔记之Context Type

专栏汇总网址:蓝牙篇之蓝牙核心规范学习笔记(V5.4)汇总_蓝牙核心规范中文版_心跳包的博客-CSDN博客 爬虫网站无德,任何非CSDN看到的这篇文章都是盗版网站,你也看不全。认准原始网址。!!! 蓝牙中的上下文类型(Context Type)是用于描述音频流当前使用情况或相关使用情…

【Java】集合 之 使用List

在集合类中&#xff0c;List是最基础的一种集合&#xff1a;它是一种有序列表。 List的行为和数组几乎完全相同&#xff1a;List内部按照放入元素的先后顺序存放&#xff0c;每个元素都可以通过索引确定自己的位置&#xff0c;List的索引和数组一样&#xff0c;从0开始。 数组…

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

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

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

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

Verilog中什么是断言?

断言就是在我们的程序中插入一句代码&#xff0c;这句代码只有仿真的时候才会生效&#xff0c;这段代码的作用是帮助我们判断某个条件是否满足&#xff08;例如某个数据是否超出了范围&#xff09;&#xff0c;如果条件不满足&#xff08;数据超出了范围&#xff09;&#xff0…

搭建安信可小安派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的概…

人生第一个项目(学生管理系统)(进阶版)

题目: package Project.Student_system_upper版;public class 题目学生股那里系统upper {//增删改查可以直接参照之前的文件代码(cv大法)/* 为学生管理系统写一个登录,注册,忘记密码的功能只有用户登陆成功之后,才能进入到学生管理系统中进行相应操作*//*分析:1. 登陆界面需要…

notepad编辑器的使用

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言 前言 认知有限&#xff0c;望大家多多包涵&#xff0c;有什么问题也希望能够与大家多交流&#xff0c;共同成长&#xff01;…

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

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