python系列教程80

朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow

声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写,所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!PS:看不懂本篇文章的同学请先看前面的文章,循序渐进每天学一点就不会觉得难了!

上一篇文章中,我们通过在引号前增加一个反斜杠的方式可以在字符串内部嵌入一个引号。这是字符串中的一个常见的表现模式:反斜杠用来引入特殊的字节编码,我们称之为转义序列。

转义序列除了能添加引号外,还可以让我们在字符串中嵌入不容易通过键盘输入的字节。例如,这里有一个五个字符的字符串,其中嵌入了一个换行符和一个制表符:

>>> s = 'a\nb\tc'

其中“\n”这两个字符表示一个换行字符。类似的,序列“\t”替换为制表符。这个字符串打印时的格式取决于打印的方式。交互模式下是以转义字符的形式回显的,但是print会将其解释出来:

>>> s

'a\nb\tc'

>>> print(s)

a

b c

为了清楚地了解这个字符串中到底有多少个字节,使用内置的len函数。它会返回一个字符串中到底有多少字节:

>>> len(s)

5

这个字符串长度为五个字节:分别包含了一个a字符,一个换行字符、一个b字符,一个制表字符,一个c字符。注意原始的反斜杠字符并不真正和字符串一起存储在内存中。

转义序列还允许一个字符串的字节中嵌入绝对的二进制值。例如,这里有一个五个字符的字符串,其中嵌入了两个二进制零字符(将八进制编码转义为一个数字):

>>> s = 'a\00b\00c'

>>> s

'a\x00b\x00c'

>>> len(s)

5

从上面的结果可以看到,Python通常以十六进制显示非打印的字符。

在Python中,零(空)字符不会像C语言那样去结束一个字符串。相反,Python在内存中保持了整个字符串的长度和文本。事实上,Python没有字符会结束一个字符串。

下面是一个完全由绝对的二进制转义字符编码的字符串——一个二进制1和2(以八进制编码)以及一个二进制3(以十六进制编码):

>>> s = '\001\002\x03'

>>> s

'\x01\x02\x03'

>>> len(s)

3

下面的字符串中包含了字符“spam”、一个制表符和换行符,以及一个以十六进制编码的零:

>>> S = "s\tp\na\x00m"

>>> S

's\tp\na\x00m'

>>> len(S)

7

>>> print(S)

s p

a m
我的微信公众号是“人工智能知识分享”

在这里插入图片描述

你可能感兴趣的:(编程技术)