Python字符串(String)类型

Python中的字符串类型

字符串(String)指的是一个或多个字符的组合。在Python这门语言中,字符串必须由双引号""或者单引号''包围,格式如下:

"字符串内容"
'字符串内容'

字符串中的内容可以随便书写,包含数字、字母、标点、特殊符号、中文、英文等等。

下面都是合法的字符串:

字符串用双引号、单引号包裹都可以,没有任何区别。

转义字符

如果字符串内容中出现引号时,会怎么样?

你可以直接输出这句话:

'I'm Metahuber!'

我们会发现解释器会报错:

SyntaxError: invalid syntax. Perhaps you forgot a comma?

原因是解释器将'I'当成了一个字符串,所以之后的内容被认定为是异常字符,导致语法错误而报错。

所以当字符串中出现引号时,就需要我们做特殊处理。

这时候我们就需要使用转义符反斜杠'\'对引号进行转义。如下:

'I\'m Metahuber!'

除了对引号进行转义的反斜杠‘\’外,还有给字符添加换行、回车等作用的转义符。关于转义字符的更多内容,可点击《Python转义字符及用法》一文了解。

Python长字符串

我们已知,转义字符可以在字符串中增加换行、缩进等内容,而Python中的长字符串,指的是不需要转义符,所有字符内容都直接原文本输出的写法,包括单双引号、空格、回车、缩进、空白符等等,你输入什么,就显示什么。

Python中的长字符串使用三个双引号"""或三个单引号'''包围,格式如下:

"""长字符串内容"""
'''长字符串内容'''

在长字符串中写入单引号或双引号不会导致解释器异常,而会原样输出里面的内容。

所以,当我们的程序中需要定义有大段的文本内容的字符串变量时,优先推荐使用长字符串形式,这样可以让我们从转义符的使用中解放。

实例如下:

long_str='''Hello!My name is “Metahuber”。
This is My Website “http://pythonjishu.com/”。'''
print(long_str)

输出如下:

Hello!My name is "Metahuber"。
This is My Website "http://pythonjishu.com/"。

Python原始字符串

当我们的变量是一个Windows路径‘C:\Program Files\Python 3.11\python.exe’这样的字符串时,如果使用普通的定义字符串的方式,直接这么写解释器肯定会报错,我们需要在每一个反斜杠前再加一个反斜杠,这样才不会出现解析错误。如下:

print('C:\\Program Files\\Python 3.11\\python.exe')

这种写法的坏处是在编程中很容易出错,需要写得特别谨慎。

为了解决这个问题,Python支持原始字符串的写法。顾名思义,原始字符串的作用与长字符串相同,是将字符串中的内容保持原始的样子输出。

具体的写法是在字符串开头加上r前缀,如:

r_str=r'C:\Program Files\Python 3.11\python.exe'
print(r_str)

输出结果:

C:\Program Files\Python 3.11\python.exe

可以看到,这种写法是正确的,解释器并没有出现异常。

需要注意的是,原始字符串中的“\”仍然会对引号进行转义。所以原始字符串最后一个字符不能是反斜杠,因为它会对结尾处的引号进行转义,导致报错。

比如:

r_str2=r'C:\Program Files\Python 3.11\python.exe\'
print(r_str2)

此时会出现异常:

SyntaxError: unterminated string literal (detected at line 1)

解决这个问题也很简单,可以由两种方式。

一种是不要使用原始字符串,养成使用长字符串的方式书写。

另外一种方法比较麻烦,就是在字符后面追加反斜杠。写法如下:

r_str3=r'C:\Program Files\Python 3.11\python.exe' '\'
print(r_str3)

我们定义变量时,先写了最后字符不带反斜杠的原始字符串,然后添加一个空格,又单独写了个包含转义字符的反斜杠字符串。Pyhton会将这两个字符串自动拼接在一起,所以以上代码的输出结果是正常的:

C:\Program Files\Python 3.11\python.exe\

关于字符的拼接,我们后续文章会做更详细的介绍。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python字符串(String)类型 - Python技术站

(1)
上一篇 2022年11月20日 下午4:12
下一篇 2022年12月7日 下午10:15

相关文章

  • Python实现简单的代理服务器

    Python实现简单的代理服务器 代理服务器是一种实现网络资源共享、网络安全、网络优化的技术,本文将介绍如何使用 Python 实现简单的代理服务器。 简介 代理服务器充当客户端与服务器之间的中间人,代理服务器拦截所有客户端与服务器之间的网络请求,从而实现网络资源的共享、优化和安全保障。 实现原理 我们需要创建一个服务器来拦截客户机和服务器之间的请求,并把这…

    python 2023年6月3日
    00
  • python爬取微信公众号文章的方法

    Python爬取微信公众号文章是一个非常有用的应用场景,可以帮助我们在Python中获取微信公众号文章的文本数据。本攻略将介绍Python爬取微信公众号文章的完整攻略,包括数据获取、数据处理、数据存储和示例。 步骤1:获取数据 在Python中,我们可以使用requests库获取网页数据。以下是获取微信公众号文章页面的示例: import requests …

    python 2023年5月15日
    00
  • python 中 .py文件 转 .pyd文件的操作

    要将Python的.py文件打包成.pyd文件,需要用到Python官方提供的工具——cython,具体步骤如下: 步骤一:安装Cython 在命令行中使用pip命令安装Cython: pip install Cython 步骤二:创建.py文件 首先,需要有一个Python的.py文件,作为要打包的源代码。 例如,以下代码将定义一个名为hello的函数: …

    python 2023年5月14日
    00
  • python获得图片base64编码示例

    下面是Python获得图片Base64编码的完整攻略。 准备工作 在开始之前,你需要安装Python的base64模块,它是Python内置的模块,已经包含在Python的标准库中。如果你使用的是Python 2,那么你需要使用base64模块中的encodestring()方法,如果你使用的是Python 3,则你需要使用base64模块中的encodeb…

    python 2023年5月18日
    00
  • Python算法应用实战之队列详解

    Python算法应用实战之队列详解 队列的定义 队列(Queue)是一种在队尾添加元素,从队头删除元素的数据结构。它遵循“后进先出(LIFO)”的原则,在Python中使用列表(List)来模拟队列。 队列的操作 队列的基本操作如下:- 初始化队列:创建一个空列表,作为队列的容器- 入队操作:将元素添加至队列的末尾- 出队操作:从队列的头部删除一个元素并返回…

    python 2023年5月13日
    00
  • 跟老齐学Python之画圈还不简单吗?

    跟老齐学Python之画圈还不简单吗? 1. 前言 在学习Python的过程中,绘制图形是一个非常有趣的方向。本篇文章介绍了如何使用Python的turtle模块绘制圆。 2. turtle模块 turtle是Python标准库中的一个模块,提供了一个良好的绘图环境。它提供了一组简单的命令,用于控制海龟绘图窗口中的小海龟。turtle模块可以绘制很多图形,包…

    python 2023年5月19日
    00
  • Python多进程池 multiprocessing Pool用法示例

    我们来详细讲解一下“Python多进程池 multiprocessing Pool用法示例”的完整攻略。 什么是多进程池 多进程是并行处理的一种方式,Python标准库中提供了multiprocessing模块来支持多进程编程。进程池是通过维护一个进程队列来实现进程的重用,从而减少进程的创建和销毁所需的时间和系统资源开销。 multiprocessing P…

    python 2023年5月19日
    00
  • 图文详解Python中最神秘的一个魔法函数

    我很乐意为您讲解“图文详解Python中最神秘的一个魔法函数”的完整攻略。 1. 神秘的魔法函数 Python中最神秘的魔法函数就是__call__。这个函数是一个特殊的方法,它可以使一个类实例变得像一个函数一样可以调用。因此,使用__call__方法可以方便地实现一个可调用对象,这个对象可以像一个函数一样被使用。 2. 如何使用__call__函数 下面是…

    python 2023年5月18日
    00

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

评论列表(1条)

合作推广
合作推广
分享本页
返回顶部