字符串
在 Python 中创建字符串对象非常容易。只要将所需的文本放入一对引号中,就完成了一个新字符串的创建(参见清单 1)。如果稍加思考的话,您可能会感到有些困惑。毕竟,有两类可以使用的引号:单引号 (') 和双引号 (")。幸运的是,Python 再一次使这种问题迎刃而解。您可以使用任意一类引号来表示 Python 中的字符串,只要引号一致就行。如果字符串是以单引号开始,那么必须以单引号结束,反之亦然。如果不遵循这一规则,则会出现 SyntaxError 异常。
清单 1. 在 Python 中创建字符串
>>> sr="Discover Python">>> type(sr)<type 'str'>>>> sr='Discover Python'>>> type(sr)<type 'str'>>>> sr="Discover Python: It's Wonderful!" >>> sr='Discover Python" File "<stdin>", line 1 sr='Discover Python" ^SyntaxError: EOL while scanning single-quoted string>>> sr="Discover Python: /... It's Wonderful!">>> print srDiscover Python: It's Wonderful!
从清单 1 中可以看出,除了字符串用适当的引号括起来之外,另外还有两个重要方面。第一,在创建字符串时,您可以混合使用单引号和双引号,只要字符串在开始位置和结束位置使用同一类型的引号。这种灵活性允许 Python 容易地保留常规的文本数据,这些常规的文本数据可能需要使用单引号来表示简写的动词形式或所属关系,以及使用双引号来表示引述文本。
第二,如果字符串用一行表示太长,您可以使用 Python 连续字符:反斜线 (/) 来对字符串进行折行。从内部机制看,在创建字符串时换行符会被忽略,在打印字符串时可以看出这一点。您可以结合使用这两个功能,来创建包含较长段落的字符串,如清单 2 所示。
清单 2. 创建长字符串
>>> passage = 'When using the Python programming language, one must proceed /... with caution. This is because Python is so easy to use and can be so /... much fun. Failure to follow this warning may lead to shouts of /... "WooHoo" or "Yowza".'>>> print passageWhen using the Python programming language, one must proceed with caution. This is because Python is so easy to use, and can be so much fun. Failure to follow this warning may lead to shouts of "WooHoo" or "Yowza".
编者注:上面的示例已折行处理,这样使页面布局更合理。事实上,它本来显示为一个较长的行。
注意,当打印 passage 字符串时,所有格式将被删除,只保留一个非常 长的字符串。通常,您可以使用控制符来表示字符串中的简单格式。例如,要表示一个新行开始,您可以使用换行控制符 (/n);要表示插入一个制表符(预设空格数),可以使用制表符控制符 (/t),如清单 3 所示。
新闻热点
疑难解答