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技术站作者[metahuber],转载请注明出处:http://pythonjishu.com/python-string/

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年 11月 20日 下午4:12
下一篇 2022年 12月 7日 下午10:15

相关推荐

  • 给Python list列表添加元素

    Python给list列表添加元素的函数有:append()、extend()、insert()。其中append()和extend()在list列表末尾追加元素,insert()在list列表任意位置插入元素。以下是三者的具体区别:

    2023年 1月 20日
    00
  • Python 序列详解(含索引、切片)

    序列,指的是一块连续的、可存放多个值的内存空间,这些值按顺序排列,并且每个值所在的位置都有个编号(称为索引),可以通过编号访问它们。形象化地解释,你可以将它看做是一家旅店,店中的每个房间就是序列的一个个内存空间,每个房间的房间号就是索引值。我们想去哪个房间,通过房间号(索引)查找就可以。

    2023年 1月 15日
    30
  • Python中的集合(set)是什么?

    集合是Python中的一种数据结构,与列表、元组、字典等数据结构不同,它没有重复的元素。它是一种可变的数据类型,可以在运行时动态添加或删除元素。集合的元素可以是任何类型,但通常是数字、字符串或其他不可变类型。 集合有以下几个特征: 集合中的元素是无序的,也就是说,每次创建集合时,集合中的元素的顺序可能不同。 集合中的元素是唯一的,也就是说,集合中的元素不能重…

    2023年 2月 14日
    00
  • 详解Python中复数类型的创建、比较与运算!

    Python 是一门支持复数运算的编程语言,复数(Complex)是由实数和虚数部分组成的数学概念,其常用表示形式为 $a + bj$,其中 a 表示实部,b 表示虚部,复数的虚部以 j 或者 J 作为后缀。 Python 中的复数类型支持常见的数学运算,如加、减、乘、除和幂运算。 Python创建复数的两种方式 Python 中的复数类型可以使用内置函数 …

    2023年 2月 23日
    00
  • Python修改 list列表元素

    Python 有两种修改列表元素的方法: 修改单个元素 同时修改多个元素 修改单个元素 修改列表单个元素很简单,直接给对应索引位置的元素赋值即可。语法为:列表变量名[索引值]=值。 实例如下: tech = ['Python','Web','Spider'] tech[1] = 'Big …

    2023年 1月 29日
    00
  • Python小数类型(float)详解

    浮点型 Python中,小数也称为浮点数,类型名是“float”。 “浮点数”,是计算机采用的一种数字的表示方法,它相对于定点数加上一个阶码。阶码指明了小数点在定点数中的位置,如果小数点发生移动,就称为浮点数;如果小数点不动,就称为定点数。 其他强类型语言根据存储空间的大小,将浮点型分为了float、double、decimal等类型。而在Python当中只…

    2022年 11月 20日
    00
  • Python删除 list列表元素

    Python中有4中删除list列表的方法:
    1. del关键字:根据索引位置删除某一元素。
    2. list的pop()函数:与del关键字相同,根据索引位置删除某一元素。
    3. list的remove()函数:根据元素值删除元素。
    4. list的clear()函数:删除列表所有元素。

    2023年 1月 27日
    00
  • Python 元组(tuple)是什么?和列表(list)有什么区别?

    元组(tuple)与列表(list)的区别 Python中的元组(tuple),其实也是一种序列。 它和列表(list)大体相同,都是由一系列元素排列组成。不同的是,列表中的元素支持新增、修改、删除,是可变序列;而元组不允许新增、修改、删除其中的元素,是不可变序列。 所以,元组比列表更加稳定,一般用来保存无需变更的内容。 Python 元组的语法格式为:(元…

    2023年 1月 30日
    00
  • Python dict字典详解

    Python 中的字典是一种可变的、无序的数据类型,用于存储键值对(key-value)的数据结构。字典的特点在于可以快速的查找和修改键值对的值,是一种非常灵活、方便的数据结构。 字典类型是 Python 中唯一的映射类型。“映射”是数学中的术语,简单理解,它指的是元素之间相互对应的关系,即通过一个元素,可以唯一找到另一个元素。 字典类型所具有的主要特征如下…

    2023年 2月 14日
    00
  • Python bytes类型详解

    什么是bytes? byte,也称为字节,是计算机唯一可以存储的东西。也就是说,你想要在计算机中存储任何东西,都需要对其进行编码,将其转换为字节。例如: 存储音乐,必须先使用MP3、WAV等方式对其编码。 存储图片,必须先使JPG、JPEG等方式对其编码。 存储文本,必须使用ASCII、UTF-8等方式对其编码。 这里面,MP3、WAV、JPG、JPEG、A…

    2022年 12月 7日
    00

发表回复

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

评论列表(1条)