当前位置:首页 > 技术分析 > 正文内容

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

从本篇开始,我们开始学习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%同类作品),但没有评论,头条君也只给了三千展现,我知道这类学术性文章没有娱乐性的文章热度那么高,无论怎样,大家如果觉得文章不错,不要什么反应都没有,这样的话,本系列文章可能就没有后续了。

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

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3618.html

分享给朋友:

“「Python教程」第6篇 Python基本语法之字符串” 的相关文章

总结了Vue3的七种组件通信方式,别再说不会组件通信了

写在前面本篇文章是全部采用的<script setup>这种组合式API写法,相对于选项式来说,组合式API这种写法更加自由,具体可以参考Vue文档对两种方式的描述。本篇文章将介绍如下七种组件通信方式:propsemitv-modelrefsprovide/injecteventBusv...

前后端分离自动化运维平台开发

运维平台采用前后端分离:前端vue,框架vue-element-admin;后端python,框架django-rest-framework.目前运维平台模块如下:1、 CMDB管理应用管理、环境管理、开发语言管理、产品项目管理、资产管理2、 构建发布持续构建、持续部署、Jar工程依赖构建3、 容器...

一次Java内存占用高的排查案例,解释了我对内存问题的所有疑问

问题现象7月25号,我们一服务的内存占用较高,约13G,容器总内存16G,占用约85%,触发了内存报警(阈值85%),而我们是按容器内存60%(9.6G)的比例配置的JVM堆内存。看了下其它服务,同样的堆内存配置,它们内存占用约70%~79%,此服务比其它服务内存占用稍大。那为什么此服务内存占用稍大...

一文让你彻底搞懂 vue-Router

路由是网络工程里面的专业术语,就是通过互联把信息从源地址传输到目的地址的活动。本质上就是一种对应关系。分为前端路由和后端路由。后端路由:URL 的请求地址与服务器上的资源对应,根据不同的请求地址返回不同的资源。前端路由:在单页面应用中,根据用户触发的事件,改变URL在不刷新页面的前提下,改变显示内容...

Vue实战篇|使用路由管理用户权限(动态路由)

权限控制是后台管理系统比较常见的需求,如果我们需要对某些页面的添加权限控制的话,那我们可以在路由管理中的权限做一些校验,没有通过权限校验的给出相应的提示或者直接跳转到报错页面。跟着我一起来学vue实战篇路由管理权限吧!权限校验函数getCurrentAuthority()函数用于获取当前用户权限,一...

Vue进阶(二十六):详解router.push()

在Vue2.0路由跳转中,除了使用 <router-link> 声明式创建 a 标签来定义导航链接,还可以借助 router 的实例方法,通过编码式编写代码来实现。router.push(location)想要导航到不同的 URL,则使用 router.push 方法。这个方法会向 hi...