Python实战指南:手把手教你掌握300个精彩案例
上QQ阅读APP看书,第一时间看更新

1.1 字符串表达式

案例1 单行文本

导语

单行文本必须包含在一对引号中,既可以使用双引号(""),也可以使用单引号('')。但是,引号一定要前后一致。如果左引号使用了单引号,那么右引号也必须是单引号。

操作流程

步骤1:定义变量text,并把双引号包裹的字符串赋值给它,然后调用print函数将text变量的内容输出到屏幕上。

执行以上代码,屏幕输出内容如下:

步骤2:再定义变量text2,并赋值为使用单引号包裹的字符串,然后同样调用print函数将其输出到屏幕。

运行结果如下:

步骤3:正如以下代码所示,text3和text4变量所赋值的字符串表达式是无效的。

以上两个字符串表达式皆无效,因为包裹字符串的引号前后不一致。

注意:不管选择使用单引号或双引号来修饰字符串对象,这些引号均为英文符号,不能使用中文的引号。

案例2 处理字符串中出现的引号

导语

由于字符串表达式是通过引号来包裹的,因此,如果字符串本身出现引号,就需要进行“回避”,否则编译器将无法对字符串做出正确的解析。

一般有两种处理方案:

· 使用\'或\"来代替。即:当字符串中有单引号时,使用\'来对单引号进行转义;当字符串中有双引号时,用\"来转义。字符被转义后,编译器只会将其视为普通字符处理,不会发生错误。

· 嵌套法(单、双引号交替使用)。如果字符串中有单引号时,就使用一对双引号来包裹它;反过来,要是字符串中有双引号,那就用一对单引号来包裹它。

注意:以上情况只针对字符串中的英文引号,对于中文引号,无论是单引号还是双引号,都不必进行处理,直接输入即可。

操作流程

步骤1:下面代码将转义字符串中的双引号。

步骤2:同样,单引号也可以进行转义。

步骤3:如果字符串中含有双引号,可以使用一对单引号来包裹字符串,此时无须转义双引号。

步骤4:反之,如果字符串中含有单引号,则可以用一对双引号来包裹,这样就不用对单引号进行转义了。

步骤5:以上代码运行后,屏幕输出内容如下。

案例3 多行文本

导语

在字符串表达式中使用三重引号,使其成为文本块。文本块支持多行,而且允许任意排版。其格式如下:

或者

多行文本一般用于编写代码文档,用于介绍功能与使用方法,可作为代码对象(如模块、函数等)的帮助文档,可以通过对象的__doc__成员读取关联的帮助文档。

操作流程

步骤1:以下代码中,变量mtext为一个使用三重双引号包裹的字符串案例。

步骤2:也可以使用三重单引号。

步骤3:定义一个Test类,使用多行文本为该类设置帮助文档。

pass语句不会执行任何代码,仅仅表示Test类的“空白”——未定义任何新的成员。通常情况下,紧跟在声明语句后的第一个字符串会被作为相关联的帮助文档。例如在上面代码中,紧跟在Test类声明之后的字符串案例将视为此类的帮助文档。

步骤4:随后可以通过访问__doc__成员来获取Test类的文档说明,再调用print函数将其输出到屏幕上。

__name__可以获得Test类名的字符串表示形式。字符串表达式使用了f前缀,表示对字符串进行格式化处理,其中大括号中的表达式会用其实际的执行结果替换此处的文本内容。例如,__name__成员返回字符串“Test”,此时输出的内容会变为“Test类的帮助文档:……”。

注意:__name__和__doc__成员名称的前缀与后缀都是两个下画线字符(_)。Python中许多特殊成员的命名都会在名称的前面与后面加上双下画线,例如类的构造函数命名为__init__。

步骤5:以上代码执行后,输出内容如下。