添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
谦和的牛排  ·  中华人民共和国司法部·  3 月前    · 
紧张的铅笔  ·  Web Filter for Chrome ...·  4 月前    · 
风流的手术刀  ·  Vector 排序 - Rust ...·  8 月前    · 
Python编程环境搭建
3 变量类型和运算符
3.1 Python变量的定义和使用
3.2 Python整数类型(int)
3.3 Python小数/浮点数(float)
3.4 Python复数类型(complex)
3.5 为什么Python浮点类型存在误差?
3.6 Python字符串
3.7 Python字符串使用哪种编码格式?
3.8 Python bytes
3.9 Python bool布尔类型
3.10 Python初始化变量,并不一定开辟新的内存!
3.11 Python input()函数:获取用户输入的字符串
3.12 Python print()函数高级用法
3.13 Python格式化字符串
3.14 Python转义字符
3.15 Python数据类型转换
3.16 Python算术运算符
3.17 Python赋值运算符
3.18 Python位运算符
3.19 Python比较运算符
3.20 Python逻辑运算符
3.21 Python三目运算符
3.22 Python运算符优先级和结合性
列表、元组、字典和集合 Python字符串常用方法 Python流程控制 函数和lambda表达式 Python类和对象 类特殊成员(属性和方法) Python异常处理机制 Python模块和包 Python文件操作(I/O) Python 字符串中的双引号和单引号没有任何区别。而有些编程语言的双引号字符串可以解析变量,单引号字符串一律原样输出,例如 PHP JavaScript 。 处理字符串中的引号的 当字符串内容中出现引号时,我们需要进行特殊处理,否则 Python 会解析出错,例如: 'I'm a great coder!'

由于上面字符串中包含了单引号,此时 Python 会将字符串中的单引号与第一个单引号配对,这样就会把 'I' 当成字符串,而后面的 m a great coder!' 就变成了多余的内容,从而导致语法错误。
对于这种情况,我们有两种处理方案: 1) 对引号进行转义 在引号前面添加反斜杠 \ 就可以对引号进行转义,让 Python 把它作为普通文本对待,例如: str1 = 'I\'m a great coder!' str2 = "引文双引号是\",中文双引号是“" print(str1) print(str2) 运行结果: I'm a great coder!
引文双引号是",中文双引号是“

2) 使用不同的引号包围字符串 如果字符串内容中出现了单引号,那么我们可以使用双引号包围字符串,反之亦然。例如: str1 = "I'm a great coder!" #使用双引号包围含有单引号的字符串 str2 = '引文双引号是",中文双引号是“' #使用单引号包围含有双引号的字符串 print(str1) print(str2) 运行结果和上面相同。 字符串的换行 Python 不是格式自由的语言,它对程序的换行、缩进都有严格的语法要求。要想换行书写一个比较长的字符串,必须在行尾添加反斜杠 \ ,请看下面的例子:
s2 = 'It took me six months to write this Python tutorial. \ Please give me more support. \ I will keep it updated.' 上面 s2 字符串的比较长,所以使用了转义字符 \ 对字符串内容进行了换行,这样就可以把一个长字符串写成多行。
另外,Python 也支持表达式的换行,例如:
num = 20 + 3 / 4 + \ 2 * 3 print(num) Python长字符串 在《 Python注释 》一节中我们提到,使用三个单引号或者双引号可以对多行内容进行注释,这其实是 Python 长字符串的写法。所谓长字符串,就是可以直接换行(不用加反斜杠 \ )书写的字符串。
Python 长字符串由三个双引号 """ 或者三个单引号 ''' 包围,语法格式如下: """长字符串内容"""
'''长字符串内容'''

在长字符串中放置单引号或者双引号不会导致解析错误。
如果长字符串没有赋值给任何变量,那么这个长字符串就不会起到任何作用,和一段普通的文本无异,相当于被注释掉了。 注意,此时 Python 解释器并不会忽略长字符串,也会按照语法解析,只是长字符串起不到实际作用而已。

当程序中有大段文本内容需要定义成字符串时,优先推荐使用长字符串形式,因为这种形式非常强大,可以在字符串中放置任何内容,包括单引号和双引号。
【实例】将长字符串赋值给变量: longstr = '''It took me 6 months to write this Python tutorial. Please give me a to 'thumb' to keep it updated. The Python tutorial is available at http://c.biancheng.net/python/.''' print(longstr) 长字符串中的换行、空格、缩进等空白符都会原样输出,所以你不能写成下面的样子: longstr = ''' It took me 6 months to write this Python tutorial. Please give me a to 'thumb' to keep it updated. The Python tutorial is available at http://c.biancheng.net/python/. print(longstr) 虽然这样写格式优美,但是输出结果将变成:     It took me 6 months to write this Python tutorial.
Please give me a to 'thumb' to keep it updated.
The Python tutorial is available at http://c.biancheng.net/python/.
字符串内容前后多出了两个空行,并且每一行的前面会多出四个空格。
Python原始字符串 Python 字符串中的反斜杠 \ 有着特殊的作用,就是转义字符,例如上面提到的 \' \" ,我们将在《 Python转义字符 》一节中详细讲解,这里大家先简单了解。
转义字符有时候会带来一些麻烦,例如我要表示一个包含 Windows 路径 D:\Program Files\Python 3.8\python.exe 这样的字符串,在 Python 程序中直接这样写肯定是不行的,不管是普通字符串还是长字符串。因为 \ 的特殊性,我们需要对字符串中的每个 \ 都进行转义,也就是写成 D:\\Program Files\\Python 3.8\\python.exe 这种形式才行。
这种写法需要特别谨慎,稍有疏忽就会出错。为了解决转义字符的问题,Python 支持 原始字符串 。在原始字符串中, \ 不会被当作转义字符,所有的内容都保持“原汁原味”的样子。
在普通字符串或者长字符串的开头加上 r 前缀,就变成了原始字符串,具体格式为: str1 = r'原始字符串内容'
str2 = r"""原始字符串内容"""

将上面的 Windows 路径改写成原始字符串的形式: rstr = r'D:\Program Files\Python 3.8\python.exe' print(rstr) 原始字符串中的引号 如果普通格式的原始字符串中出现引号,程序同样需要对引号进行转义,否则 Python 照样无法对字符串的引号精确配对;但是和普通字符串不同的是,此时用于转义的反斜杠会变成字符串内容的一部分。
请看下面的代码: str1 = r'I\'m a great coder!' print(str1) 输出结果: I\'m a great coder!

需要注意的是,Python 原始字符串中的反斜杠仍然会对引号进行转义,因此原始字符串的结尾处不能是反斜杠,否则字符串结尾处的引号会被转义,导致字符串不能正确结束。
在 Python 中有两种方式解决这个问题:一种方式是改用长字符串的写法,不要使用原始字符串;另一种方式是单独书写反斜杠,这是接下来要重点说明的。
例如想表示 D:\Program Files\Python 3.8\ ,可以这样写: str1 = r'D:\Program Files\Python 3.8' '\\' print(str1) 我们先写了一个原始字符串 r'D:\Program Files\Python 3.8' ,紧接着又使用 '\\' 写了一个包含转义字符的普通字符串,Python 会自动将这两个字符串拼接在一起,所以上面代码的输出结果是: D:\Program Files\Python 3.8\

由于这种写法涉及到了字符串拼接的相关知识,这里读者只需要了解即可,后续会对字符串拼接做详细介绍。

关注公众号「 站长严长生 」,在手机上阅读所有教程,随时随地都能学习。内含一款搜索神器,免费下载全网书籍和视频。

微信扫码关注公众号
  • Java字符串的替换(replace()、replaceFirst()和replaceAll())
  • 到底什么是链接,它起到了什么作用?
  • Python __file__属性:查看模块的源文件路径
  • JS if else语句:条件判断语句
  • Linux rescue救援(光盘修复)模式详解
  • MySQL索引(Index)是什么?为什么要使用索引?
  • CSS cursor(鼠标样式)
  •