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 2023年6月3日
    00
  • python实现监控linux性能及进程消耗性能的方法

    实现监控Linux性能及进程消耗性能的方法主要包含以下几个步骤: 第一步:安装必要软件 监控Linux性能和进程消耗性能通常需要借助于第三方工具,比如Grafana和Prometheus。可以参考以下步骤安装这两个软件(注:以下操作基于Ubuntu系统): 安装最新版Grafana: wget -q -O – https://packages.grafana…

    python 2023年6月3日
    00
  • Golang中由零值和gob库特性引起BUG解析

    本攻略将讲解Golang中的零值与gob库的特性引起的BUG,主要包括以下几个方面的内容: 什么是Go中的零值? 什么是gob库? gob库的特性引起的BUG 如何避免由gob库特性造成的BUG。 什么是Go中的零值? 在Go语言中,每个类型都有一个零值,它是指该类型的一个默认值。在声明变量但没有给出初始值时,变量将被赋予零值。比如,字符串类型的零值为空字符…

    python 2023年6月2日
    00
  • Python使用pyh生成HTML文档的方法示例

    Python使用pyh生成HTML文档的方法示例 pyh是Python的一个HTML生成库,可以用于生成HTML文档。本文将介绍如何使用pyh生成HTML文档,并提供两个示例。 步骤1:安装pyh库 在使用pyh库之前,我们需要安装它。您可以使用以下命令安装pyh库: pip install pyh 步骤2:生成HTML文档 以下是生成HTML文档的示例代码…

    python 2023年5月15日
    00
  • Python导包模块报错的问题解决

    当我们在Python编程中导入模块时,有时候会遇到模块导入报错的问题。这时候我们需要仔细检查模块是否存在以及模块路径是否正确。以下是解决Python导包模块报错的完整攻略。 1. 检查模块是否存在 在Python中,当我们导入模块时,模块必须存在。如果模块不存在,Python将无法导入模块并抛出异常。因此,我们在导入模块时,应该仔细检查模块是否存在。例如,我…

    python 2023年5月13日
    00
  • python 图片验证码代码分享

    Python图片验证码代码分享 验证码(CAPTCHA,Completely Automated Public Turing test to tell Computers and Humans Apart)是用来识别用户是否为人类的技术,现在已经广泛应用于网站注册、登录、密码找回等场景中,以防止自动化程序恶意攻击。 在Python中,我们可以使用第三方库ca…

    python 2023年5月14日
    00
  • python中的 zip函数详解及用法举例

    Python中的zip函数详解及用法举例 什么是Zip函数 zip()函数是Python中一个常见的内置函数,可以做到多个列表或其他的可遍历对象进行组合,最终返回一个迭代器对象,每个元素分别来自每个可遍历对象中的对应位置。 基本语法 zip函数的基本语法格式为: zip([iterable, …]) 其中参数iterable为多个迭代器或可遍历对象。 用…

    python 2023年5月14日
    00
  • python基础梳理(一)(推荐)

    “Python基础梳理(一)(推荐)”是一篇讲解Python语言基础的教程文章,其主要内容包括Python的数据类型、变量、运算符、控制流等基础知识点。以下是该教程的完整攻略。 一、Python数据类型 在这一部分,我们会讲解Python中常用的数据类型,包括数字、字符串、列表、字典、元组和集合。对于每种数据类型,我们会讲解其基本定义、操作方法和常见的应用场…

    python 2023年5月19日
    00

评论列表(1条)

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