[Python 实战] - No.5 字符串、切片与格式化输出

一、raw字符串与多行字符串

在字很多语言中,如果符串中包含需要转义的字符,我们会在前面添加转义符'\',例如:


同时,在python中,''和""均可以表示字符串。但是如果希望在一个字符串中使用,‘’或者“”作为普通字符,需要进行转义


如果一个字符串包含很多需要转义的字符,对每一个字符都进行转义会很麻烦。为了避免这种情况,我们可以在字符串前面加个前缀 ‘r’,

表示这个字符串是raw字符串,所有字符串均按照字面意思来使用

例如:


如果我们希望在一个字符串中多行表示同时又不想多次使用\n,这时就可以使用python多行字符串表示:


使用多行时,使用''' ...'''来包裹字符串,同时在需要换行的地方换行

**关于中文:

当我们在使用python处理中文的时候,我们如果使用了中文,经常会遇到乱码或者异常的情况。我们在python中应该如何正确使用中文呢?直接上结论。

结论:

在.py文件中,需要声明文件编码为 utf-8,同时在字符串添加前缀u 否则无法打印中文


不声明编码为utf-8时,抛出语法错误异常:


不添加前缀'u'的时候,中文乱码:


这里解释一下,由于python本身只支持ASCII编码,而我们需要使用unicode来表示中文,所以需要在字符串前面添加前缀u,声明后边的字符串应该当做unicode来对待。

添加文件的编码是告诉python解释器,使用UTF-8的格式来读取源代码。因为ASCII来读取源代码,无法读取中文。

P.S.以上结论仅针对python2.7,python3可能已经不需要使用u前缀

二、字符串切片:

首先,在python中,字符串也是可以直接使用索引来访问的:


那么当我们想要截取字符串中的一部分的时候,就需要使用到切片。

切片语法:str[开始索引:结束索引:步长]

意思为从开始索引开始,到结束索引为止(不包括),每步长n个字符取一个(默认为1,1表示每个字符都取,2表示隔一个取一个)

步长为负数即为从后往前取,即s[::-1]表示字符串的反转

例子:



三、格式化输出:

python格式化输出和c语言的类似,就是使用%s,%d,%f等代替具体数据类型,将值插入到字符串中

例如:


Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能


猜你喜欢

转载自blog.csdn.net/tjuyanming/article/details/78306573