python系列教程81

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

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

上篇文章我们学习了转义序列,知道它能给我们的编程带来很多好处。但是有时候,转义字符的反斜杠语法也会给我们带来一些麻烦。例如,Python新手有时会用像下面这样的代码去打开一个文件:

myfile = open('C:\new\text.dat','w')

他们认为这将会打开一个在C:\new目录下名为text.dat的文件。但问题是这里有“\n”,它会识别为一个换行字符,并且“\t”会被一个制表符所替代。结果就是,这个调用是尝试打开一个名为 C:(换行)ew(制表符)ext.dat的文件,而不是我们所期待的结果。

上面的问题我们可以使用raw字符串来解决。如果字母r(大写或小写)出现在字符串的第一引号的前面,它将会关闭转义机制。这个结果就是Python会将反斜杠作为常量来保持,就像输入的那样,而不会发生转义:

myfile = open(r'C:\new\text.dat','w')

除了使用raw字符串,还有一种办法可以解决上面的问题:因为两个反斜杠是一个反斜杠的转义序列,能够通过简单地写两个反斜线去保留反斜杠:

myfile = open('C:\\new\\text.dat','w')

实际上,当打印一个嵌入了反斜杠的字符串时,Python自身也会使用这种写两个反斜杠的方法:

>>> path = r'C:\new\text.dat'

>>> path             # Show as Python code

'C:\\new\\text.dat'

>>> print(path)      # User-friendly format

C:\new\text.dat

>>> len(path)        # String length

15

打印语句只是提供了一种对用户更友好的显示格式,实际上在每处仅有一个反斜杠。为了验证这种情况,上面的代码中我们使用了内置len函数,它会返回这个字符串的实际字节数,而与其显示的格式没有关系。从输出结果可以看出,每个反斜杠只占一个字符,所以总计15个字符。

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

在这里插入图片描述

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