百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

「Python教程」第6篇 Python基本语法之字符串

itomcoil 2025-01-24 12:16 80 浏览

从本篇开始,我们开始学习Python的基本语法。

由于字符串是在程序中最常用到的数据类型,那么就先从字符串开始。

目录

  1. 如何表示字符串
  2. 多行字符串
  3. 转义字符
  4. 禁止转义
  5. 格式化字符串
  6. 关联文章列表

如何表示字符串

在Python中,字符串表示为使用英文输入状态的单引号或双引号包围的字符序列。以下是个单引号包围的示例:

'这是一个英文输入状态下的单引号包围的字符串'

以下是个双引号包围的示例:

"双引号包围的字符串"

单引号与双引号的功能是相同的,但是单引号要与单引号成对,双引号与双引号成对。引号必须是半角,不能是中文输入状态的全角符号

官方的建议是使用单引号,下面IDLE中的输出显示了这种规范,双引号包围的字符串会转化成单引号显示:

如果字符串中本身就包含了单引号或双引号,可以使用未包含的符号作为字符串定界符,在其中使用单引号或双引号。下面是示例:

'单引号包围的双引号"。'
"双引号包围的单引号'。"

IDLE输出图:

多行字符串

有时字符串有多行,就不能只使用一个单引号或双引号包围了,可以使用三个单引号或双引号包围,以下是单引号包围的多行字符串示例:

'''
这是多行字符串
里面有多行
'''

以下是双引号包围的多行字符串示例:

"""
这是双引号包围的
多行字符串
"""

同样,以下IDLE的输出显示多行字符串的规范也是使用单引号:

转义字符

在上例的多行字符串的IDLE的输出图中,出现了\n,这种在字符串中以\(反斜杠)开头的字符称为转义字符。

所谓转义,表示它是另一种含义,与字符本身的含义不同。以下是常见的转义字符:

说明:

1、\后缀一个无效的字符表示\和这个无效的字符本身,不会转义。

2、没有\s,在某些编程语言中\s表示空白符,但在Python中,\s表示\与s两个字符。

3、许多教程中都有\e,说明都是“转义”,但具体什么意思,没有人明白,一个简书作者查看了官方文档,根本没有\e,经自己测试,也完全没有影响。应该是翻译过程的谬误。下面IDLE中的输出可以证明这点:

禁止转义

有时并不需要转义,而需要字符串本身的含义,一个常见的例子是文件路径,可以在字符串前面加一个r表示字符串禁止转义,下面是一个示例:

r'D:\HP\IDE\Python\Python3.10\python.exe'

IDLE输出效果:

禁止转义前缀字母r不区分大小写,即大写的R也是一样的,不过根据编程规范,应该使用小写。下面是大写R的IDLE输出图:

格式化字符串

从Python3.6版本开始,支持字符串前缀f表示格式化字符串,先看一个下面的例子:

a = 1
b = 2
c = a + b
print(str(a) + '+' + str(b) + '=' + str(c))
print('%s+%s=%s' % (a,b,c))

第4行和第5行都输出1+1=2。

使用f格式化输出就可以使用下面的语句了:

print(f'{a}+{b}={c}')

它的输出与上述示例相同,但无论是从书写简短性,还是阅读理解性,f格式化都远胜于前两者。现代编程语言推荐使用这种形式。

其中{}包围的内容表示这是一个表达式,将会转换成表达式的值。

关联文章列表

  1. 「Python教程」第4篇 Python开发环境介绍
  2. 「Python教程」第5篇 Python程序结构


好了,本篇文章内容到此就结束了,大家有什么想说的欢迎在评论区留言。您的留言可以使得本文得到头条君更多的展现,拜托各位了,上一篇文章36%的点击率(超过100%同类作品),但没有评论,头条君也只给了三千展现,我知道这类学术性文章没有娱乐性的文章热度那么高,无论怎样,大家如果觉得文章不错,不要什么反应都没有,这样的话,本系列文章可能就没有后续了。

拜托各位读者,可以在评论区发表任何字数的任何有意义的言论。

相关推荐

selenium(WEB自动化工具)

定义解释Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7,8,9,10,11),MozillaF...

开发利器丨如何使用ELK设计微服务中的日志收集方案?

【摘要】微服务各个组件的相关实践会涉及到工具,本文将会介绍微服务日常开发的一些利器,这些工具帮助我们构建更加健壮的微服务系统,并帮助排查解决微服务系统中的问题与性能瓶颈等。我们将重点介绍微服务架构中...

高并发系统设计:应对每秒数万QPS的架构策略

当面试官问及"如何应对每秒几万QPS(QueriesPerSecond)"时,大概率是想知道你对高并发系统设计的理解有多少。本文将深入探讨从基础设施到应用层面的解决方案。01、理解...

2025 年每个 JavaScript 开发者都应该了解的功能

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发。1.Iteratorhelpers开发者...

JavaScript Array 对象

Array对象Array对象用于在变量中存储多个值:varcars=["Saab","Volvo","BMW"];第一个数组元素的索引值为0,第二个索引值为1,以此类推。更多有...

Gemini 2.5编程全球霸榜,谷歌重回AI王座,神秘模型曝光,奥特曼迎战

刚刚,Gemini2.5Pro编程登顶,6美元性价比碾压Claude3.7Sonnet。不仅如此,谷歌还暗藏着更强的编程模型Dragontail,这次是要彻底翻盘了。谷歌,彻底打了一场漂亮的翻...

动力节点最新JavaScript教程(高级篇),深入学习JavaScript

JavaScript是一种运行在浏览器中的解释型编程语言,它的解释器被称为JavaScript引擎,是浏览器的一部分,JavaScript广泛用于浏览器客户端编程,通常JavaScript脚本是通过嵌...

一文看懂Kiro,其 Spec工作流秒杀Cursor,可移植至Claude Code

当Cursor的“即兴编程”开始拖累项目质量,AWS新晋IDEKiro以Spec工作流打出“先规范后编码”的系统工程思维:需求-设计-任务三件套一次生成,文档与代码同步落地,复杂项目不...

「晚安·好梦」努力只能及格,拼命才能优秀

欢迎光临,浏览之前点击上面的音乐放松一下心情吧!喜欢的话给小编一个关注呀!Effortscanonlypass,anddesperatelycanbeexcellent.努力只能及格...

JavaScript 中 some 与 every 方法的区别是什么?

大家好,很高兴又见面了,我是姜茶的编程笔记,我们一起学习前端相关领域技术,共同进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力在JavaScript中,Array.protot...

10个高效的Python爬虫框架,你用过几个?

小型爬虫需求,requests库+bs4库就能解决;大型爬虫数据,尤其涉及异步抓取、内容管理及后续扩展等功能时,就需要用到爬虫框架了。下面介绍了10个爬虫框架,大家可以学习使用!1.Scrapysc...

12个高效的Python爬虫框架,你用过几个?

实现爬虫技术的编程环境有很多种,Java、Python、C++等都可以用来爬虫。但很多人选择Python来写爬虫,为什么呢?因为Python确实很适合做爬虫,丰富的第三方库十分强大,简单几行代码便可实...

pip3 install pyspider报错问题解决

运行如下命令报错:>>>pip3installpyspider观察上面的报错问题,需要安装pycurl。是到这个网址:http://www.lfd.uci.edu/~gohlke...

PySpider框架的使用

PysiderPysider是一个国人用Python编写的、带有强大的WebUI的网络爬虫系统,它支持多种数据库、任务监控、项目管理、结果查看、URL去重等强大的功能。安装pip3inst...

「机器学习」神经网络的激活函数、并通过python实现激活函数

神经网络的激活函数、并通过python实现whatis激活函数感知机的网络结构如下:左图中,偏置b没有被画出来,如果要表示出b,可以像右图那样做。用数学式来表示感知机:上面这个数学式子可以被改写:...