在Python中可以用单引号(‘’)、双引号(“”)和三引号(“““”””)直接创建字符串,那么它们三者有什么区别呢?
首先,回顾一下Python的编程哲学,如The Zen of Python所示:
优美胜过丑陋(Beautiful is better than ugly)
简单胜过复杂(Simple is better than complex)
在Python中,当用单引号' '定义字符串时,若字符串中有单引号,需要在字符串中的单引号前面加上转义符号“\”诉Python解释器,把字符串中的单引号作为普通的字符看待;当用双引号"
"定义字符串时,若字符串中有双引号,需要在字符串中的双引号前面加上转义符号“\” 诉Python解释器,把字符串中的双引号作为普通的字符看待。在字符串中混杂转义符号“\”,会让代码看起来很丑陋(ugly),由于要额外键入转义符号“\”,也会变得复杂(complex),如下图所示。
为了让代码优美,输入简单,Python规定:当用单引号' '定义字符串时,字符串中的双引号" "被视作是普通字符;当用双引号" "定义字符串时,字符串中的单引号' '被视作是普通字符,如下图所示。
当用单引号' '和双引号""定义字符串时,若遇到字符串有多行的情况,需要在每行的后面加多一个换行的转义字符’\n’,这样输入很复杂,代码很丑陋。遇到多行字符串输入的情况,Python建议使用三引号,这样可以避免每行都要加入一个换行符,如下图所示。
三引号常用于文档字符串(Docstring)