python系列教程81
Posted 人工智能AI技术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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个字符。
以上是关于python系列教程81的主要内容,如果未能解决你的问题,请参考以下文章
Azure 机器人微软Azure Bot 编辑器系列 : 机器人/用户提问回答模式,机器人从API获取响应并组织答案 (The Bot Framework Composer tutorial(代码片段