Python字符串(String)类型

yizhihongxing

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中,以双下划线开头和结尾的方法,被称为”魔术方法”或”魔法方法”。这些方法是具有特殊含义的,可以提供类的对象行为修改和自定义的能力。比如:__init__、__str__、__repr__等。以下是魔术方法的常见用途:- 构造函数- 对象初始化- 对象销毁- 对象字符串表达式- 对象迭代- 比较对象…

    python 2023年5月13日
    00
  • python3字符串输出常见面试题总结

    下面是针对“python3字符串输出常见面试题总结”的完整攻略: python3字符串输出常见面试题总结 1. 字符串的输出方式 在Python中,字符串有多种输出方式,包括:使用print()函数,格式化输出,字符串拼接等。接下来逐一进行讲解。 1.1 使用print()函数输出字符串 使用print()函数可以将字符串输出到控制台,例如: print(&…

    python 2023年6月5日
    00
  • Python 常用模块threading和Thread模块之线程池

    线程池是线程的一个集合,它可以在限定数量的线程中,重复利用这些线程来处理多个任务,从而实现线程池的功能。 Python中的threading库提供了ThreadPoolExecutor类,它提供了很多线程池操作方法,让开发者可以在多线程编程中更加便捷地使用线程池。 ThreadPoolExecutor ThreadPoolExecutor类是一个线程池管理器…

    python 2023年5月19日
    00
  • 如何用python实现复制粘贴功能

    如何用Python实现复制粘贴功能 在Python中实现复制和粘贴功能,需要使用三个库:Pyperclip、Tkinter和Xlib。 安装Pyperclip库 首先需要安装Pyperclip库。在终端或命令行中输入以下命令: pip install pyperclip Tkinter窗口 接下来创建一个Tkinter窗口,并在窗口内添加一个“复制”按钮和一…

    python 2023年5月20日
    00
  • 详解Python中的元组与逻辑运算符

    详解Python中的元组与逻辑运算符 什么是元组? 元组(Tuple)是 Python 中一个不可变的有序序列,用小括号()来表示。它和列表相似,但是不能修改元素。在Python中,可以将元组和列表、字典、集合等一同用作数据类型来完成更为复杂和高效的数据处理。 创建元组 创建元组的方式主要有两种: 直接将多个元素用小括号括起来 例如:(1, 2, 3) 使用…

    python 2023年5月14日
    00
  • python实现逻辑回归的示例

    接下来我将为您介绍如何用Python实现逻辑回归的示例。 什么是逻辑回归? 逻辑回归是一种用于分类问题的监督学习算法,它可以将输入数据映射为预测值的概率。通俗的讲,逻辑回归可以用来预测一个事物属于哪一类别。 逻辑回归的Python实现 下面我们将用Python来实现逻辑回归模型,具体步骤如下: 收集数据 准备数据 分析数据 训练算法 测试算法 使用算法 示例…

    python 2023年5月19日
    00
  • 用python3 返回鼠标位置的实现方法(带界面)

    这是一个用Python3实现返回鼠标位置的方法。这个方法可以直接在Python的交互式环境(例如IPython)中运行并且可以带GUI界面输出。 步骤1 准备工作 需要导入Python的Tkinter库。Tkinter是Python的标准GUI库,可以实现跨平台的应用程序窗口和对话框,以及GUI元素如按钮、标签、文本区域、下拉列表等等。可以通过以下命令导入T…

    python 2023年6月13日
    00
  • 如何使用Python读取.xlsx指定行列

    下面是关于如何使用Python读取.xlsx指定行列的详细教程: 1. 安装所需的库 使用Python读取Excel需要用到三个库:openpyxl、pandas和xlrd。其中,openpyxl主要用于写入和读取Excel,pandas可以更方便的实现数据处理和一些操作,xlrd主要是用于旧版本的Excel的读取,如果你只打算读取.xlsx格式的文件,xl…

    python 2023年5月13日
    00

发表回复

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

评论列表(1条)

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