Python入门04字符串

目录

  • 1 字符串的定义
  • 2 转义字符
  • 3 字符串的常见方法
  • 4 分割字符串
  • 5 字符串反转
  • 6 字符串的链式调用
  • 7 格式化字符串
  • 8 多行字符串
  • 总结

1 字符串的定义

在Python中,字符串表示一个字符的序列,比如

str = "hello,world"

这里我们定义了一个字符串,其中每个字符共同构成了字符串,既然是序列,我们可以计算字符串的长度。

先顺序数一下有多少个字符,一共是11个字符

在我们的REPL环境中,我们用len函数来计算字符串的长度

len(str)

在这里插入图片描述
在字符串中,每个字符都有一个索引(Index),从0开始。可以使用索引来访问字符串中的特定字符。例如:

str[3]

因为索引是从0开始,如果取索引为3的其实是取的第四个位置的字符,在这里是l,如果我们取索引为4的字符就取出了o
在这里插入图片描述

2 转义字符

在Python中,字符串中的转义(Escape)是指使用特殊字符来表示特殊含义的字符。例如,在字符串中使用反斜杠(\)来表示换行符、制表符、双引号等特殊字符。以下是一些常见的字符串转义字符:

  • \n 换行符
  • \t 制表符
  • \ " 双引号
  • \ ’ 单引号
  • \ \ 反斜杠

下边是一个转义字符的示例

str = "Hello,\nWorld!\tPython is fun!"
print(s)

在这里插入图片描述
这里需要注意的是,如果要让转义字符执行,需要用双引号包裹,再一个结果输出需要使用print函数

3 字符串的常见方法

Python提供了字符串的便利API供我们使用,包含如下:

  1. len(str):返回字符串的长度。
  2. str.upper():返回一个新的字符串,其中所有字符都转换为大写。
  3. str.lower():返回一个新的字符串,其中所有字符都转换为小写。
  4. str.capitalize():返回一个新的字符串,其中第一个字符转换为大写,其余字符转换为小写。
  5. str.title():返回一个新的字符串,其中每个单词的第一个字符都转换为大写,其余字符转换为小写。
  6. str.strip():返回一个新的字符串,其中去除了字符串两端的空格。
  7. str.lstrip():返回一个新的字符串,其中去除了字符串左侧的空格。
  8. str.rstrip():返回一个新的字符串,其中去除了字符串右侧的空格。
  9. str.split():返回一个列表,其中包含字符串按照空格分割的子字符串。
  10. str.split(sep):返回一个列表,其中包含字符串按照指定分隔符 sep 分割的子字符串。
  11. str.join(iterable):返回一个新的字符串,其中包含 iterable 中的所有元素,元素之间用字符串 str 连接。
  12. str.replace(old, new):返回一个新的字符串,其中将字符串中的 old 替换为 new
  13. str.find(sub):返回字符串中子字符串 sub 第一次出现的索引,如果不存在则返回 -1。
  14. str.count(sub):返回字符串中子字符串 sub 出现的次数。
  15. str.startswith(prefix):检查字符串是否以 prefix 开头,返回布尔值。
  16. str.endswith(suffix):检查字符串是否以 suffix 结尾,返回布尔值。

4 分割字符串

可以使用split来分割字符串,默认是使用空格来进行分割字符串

s = "Hello, World!"
substrings = s.split()
print(substrings)  # 输出:['Hello,', 'World!']

在这里插入图片描述
除了按照空格来分割外,我们还可以指定分割字符,比如使用逗号进行分割

s = "Hello,World!"
substrings = s.split(",")
print(substrings)  # 输出:['Hello', 'World!']

在这里插入图片描述
除了上述两种分法外,我们还可以有二分法,二分法返回分隔符前边的字符串,分隔符本身,和分隔符右边的字符串

s = "Hello, World!"
first, separator, last = s.partition(',')
print(first)  # 输出:Hello
print(separator)  # 输出:,
print(last)  # 输出:World!

在这里插入图片描述

5 字符串反转

在 Python 中,可以通过切片语法来实现字符串的反转。具体地,可以使用负数步长来实现字符串的反转。例如,对于一个字符串 s,可以使用以下代码实现其反转:

s = "Hello, World!"
reversed_s = s[::-1]
print(reversed_s)  # 输出:!dlroW ,olleH

在这里插入图片描述

6 字符串的链式调用

在 Python 中,字符串是不可变对象,这意味着字符串的方法不会修改原字符串,而是返回一个新的字符串。因此,可以使用链式调用来对字符串进行多次操作,而不需要使用临时变量或者多次赋值。

s="Hello,World!"
s.replace("World!","Python!").upper()

在这里插入图片描述

7 格式化字符串

Python 中的 f-string(格式化字符串)是一种非常方便的字符串格式化方法,它允许在字符串中嵌入表达式,并在字符串中直接使用大括号 {} 来指定表达式的值应该如何格式化。

下面是一些常见的 f-string 用法:

  1. 插入变量值:
name = "Alice"
age = 25
print(f"My name is {name} and I am {age} years old.")
# 输出:My name is Alice and I am 25 years old.

在这里插入图片描述

  1. 插入表达式:
x = 3
y = 4
print(f"The sum of {x} and {y} is {x + y}.")
# 输出:The sum of 3 and 4 is 7.

在这里插入图片描述

  1. 指定格式化字符串:
x = 3.141592653589793
print(f"The value of pi is {x:.2f}.")
# 输出:The value of pi is 3.14.

在这里插入图片描述

  1. 使用条件表达式:
x = 10
y = 20
print(f"{x} is greater than {y}" if x > y else f"{y} is greater than {x}")
# 输出:20 is greater than 10

在这里插入图片描述

8 多行字符串

在 Python 中,可以使用三引号(“”" 或 ‘’')来创建多行字符串。多行字符串可以包含换行符、制表符等特殊字符,并且可以在字符串中直接编写多行文本,而不需要使用换行符来表示换行。

下面是一个使用三引号创建多行字符串的例子:

multiline_string = """This is a
multiline string.
It contains multiple lines
of text."""
print(multiline_string)

在这里插入图片描述

总结

我们本篇介绍了字符串的定义,常见方法调用,以及格式化字符串和多行字符串的概念。熟练掌握语法,在我们实际的编程中就多添了不少思路,也节省了大量的时间。

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

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

相关文章

java选择排序和冒泡排序

1.区别 选择排序和冒泡排序的区别主要在于算法逻辑、稳定性和交换成本。 算法逻辑:选择排序和冒泡排序都属于比较排序,但在具体算法逻辑上有所不同。冒泡排序是通过相邻元素之间的比较和交换,将较大(或较小)的元素逐…

一文从Vue2过渡到Vue3

文章目录 Vue3简介创建Vue3.0工程使用 vue-cli 创建使用 vite 创建Vue3工程结构变化 常用 Composition API拉开序幕的setupref函数reactive函数Vue3.0中的响应式原理vue2.x的响应式Vue3.0的响应式 reactive对比refsetup的两个注意点计算属性与监视computed函数watch函数watchEf…

Pytorch中的gather的理解和用法

Pytorch中的gather的理解和用法 这个Gather的用法花费了点时间,我相信很多人一开始不太懂。 跟着我简单理解。 首先样例是: tensor([[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11]])然后index: [[2, 1, 0]]然后执行的代码: tensor_0.gather(0…

享受更健康的睡眠,dido P1S智能手环体验

如今很多人都有严重的失眠困扰,像是因为平时工作非常繁忙,每天回到家后已经很晚了,或者是睡前长时间刷手机,躺在床上辗转反侧,晚上就很难入睡,脑海中一片混乱,休息的质量就很差。我最近尝试了一…

人工智能关键技术决定机器人产业的前途

人工智能(Artificial Intelligence,AI)是指让计算机或机器具有类似于人类的智能和学习能力的技术。人工智能技术与机器人技术的结合将改变传统的机器人行业格局,就像智能手机对传统手机的颠覆一样。本文从人工智能技术的发展趋势、…

ASIWebPage数据库抓取代码示例

objective-c #import "ASIWebPageRequest.h" int main(int argc, const char * argv[]) { autoreleasepool { // 创建并设置 NSURL *代理URL [NSURL URLWithString:""]; ASIHTTPRequest *request [ASIHTTPRequest requestW…

jsoup登录日志平台后调企业微信机器人自动发送错误日志告警

一、需求:错误日志Top10告警发送 二、需求分解 jsoup实现登录,获取到cookie和token等用户鉴权信息获取接口相应的key值调用日志平台错误日志Top榜接口,查询到结果集调用企业微信机器人发送消息接口加上定时任务,可以实现定时发送…

java多线程-扩展知识二:线程的生命周期

1、生命周期 生命周期有广义与狭义之分,狭义为生命科学术语,指包括人类在内的一切动物由出生到死亡经历的生命全程。广义的生命周期泛指自然界与人类社会各种客观事物的阶段性变化及规律,如家庭生命周期、产品生命周期等。本义即狭义的生命周…

任务管理器怎么打开?4个方法快速打开!

“我想进入电脑任务管理器中对某些应用进行设置,但是我不知道应该怎么进入任务管理器中。有什么方法可以快速进入任务管理器吗?” 任务管理器是Windows操作系统中一个强大的工具,可以让你监控和管理计算机上运行的进程、应用程序和性能。当我…

FLASK博客系列5——模板之从天而降

我们啰啰嗦嗦讲了4篇&#xff0c;都是在调接口&#xff0c;啥时候能看到漂亮的页面呢&#xff1f;别急&#xff0c;今天我们就来实现。 来我们先来实现一个简单的页面。不多说&#xff0c;上代码。 app.route(/) def index():user {username: clannadhh}return <html>&…

解决方案:新版WPS-右键粘贴值到可见单元格没有了

旧版WPS&#xff0c;右键就能出现 但是新版WPS不是在这里&#xff08;方法1&#xff09; 新版WPS&#xff08;方法2&#xff09; 视频详细教程链接&#xff1a;解决方案&#xff1a;新版WPS-右键粘贴值到可见单元格没有了 -- 筛选后复制公式粘贴为数值_哔哩哔哩_bilibili

智能优化算法应用:基于飞蛾扑火算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于飞蛾扑火算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于飞蛾扑火算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.飞蛾扑火算法4.实验参数设定5.算法结果6.参考…

数智融合 开启金融数据治理新时代

11月24日&#xff0c;由上海罗盘信息科技有限公司&#xff08;罗盘科技&#xff09;主办&#xff0c;北京酷克数据科技有限公司&#xff08;酷克数据&#xff09;支持协办的“博学近思 切问治理”数据治理分享会在上海成功举行。 本次会议深度聚焦金融行业数智化转型&#xff…

FPGA模块——DA转换模块(AD9708类)

FPGA模块——DA转换模块&#xff08;AD9708类&#xff09; AD9708/3PD9708代码 AD9708/3PD9708 由于电路接了反相器&#xff0c;所以对应就不一样了。 电路图&#xff1a; 代码 在ROM中存入要输出的波形数据&#xff1a; 用软件生成各个对应的点。 给DA转换器一个时钟&…

网络篇---第四篇

系列文章目录 文章目录 系列文章目录前言一、TCP 如何保证可靠性二、OSI 的七层模型都有哪些?三、浏览器中输入:“www.woaijava.com”之后都发生了什么?请详细阐述前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站…

关于Unity中字典在Inspector的显示

字典在Inspector的显示 方法一&#xff1a;实现ISerializationCallbackReceiver接口 《unity3D游戏开发第二版》记录 在编辑面板中可以利用序列化监听接口特性对字典进行序列化。 主要继承ISerializationCallbackReceiver接口 实现OnAfterDeserialize() OnBeforeSerialize() …

C# WPF上位机开发(第一个应用)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 万事开头难&#xff0c;很多事情都是难在第一步。走出了这第一步&#xff0c;回过头看以前走的每一步&#xff0c;发现其实也不难。用c# wpf编写界…

VSD Viewer for Mac(Visio绘图文件阅读器)

VSD Viewer for Mac版是mac上一款非常强大的Visio绘图文件阅读器&#xff0c;它为打开和打印Visio文件提供了简单的解决方案。可以显示隐藏的图层&#xff0c;查看对象的形状数据&#xff0c;预览超链接。还可以将Visio转换为包含图层&#xff0c;形状数据和超链接的PDF文档。 …

【C/PTA —— 12.指针1(课外实践)】

C/PTA —— 12.指针1&#xff08;课外实践&#xff09; 一.函数题6-1 删除字符串中数字字符6-2 找最大值及其下标6-3 求两数平方根之和6-4 求一组数中的最大值、最小值和平均值6-5 两个4位正整数的后两位互换6-6 判断回文字符串 二.程序题7-1 求矩阵每行元素的和 一.函数题 6-…

5.golang字符串的拆解和拼接

字符串是 Go 中的字节切片。可以通过将一组字符括在双引号中来创建字符串" "。Go 中的字符串是兼容Unicode编码的&#xff0c;并且是UTF-8编码的。 访问字符串的单个字节或字符 由于字符串是字节切片&#xff0c;因此可以访问字符串的每个字节。 func printStr(s …