Python raw字符串(raw strings)以及Python中的常用转义符

1)Python raw字符串(raw strings)

在路径当中,一般读取的时候会在路径前面加上一个r,如下代码:

# 返回path目录下所有文件 以列表形式输出
import os
print(os.listdir(r'E:\Amusement'))  

r=raw,用r’'的方式表示的字符串叫做raw字符串,用于抑制转义。

raw字符串
s =r’C:\new’中,r’'的功能就是把"\n"变成"\\n",从而使转义字符失效。

如果字符串中不带转义字符,则带不带r’’,字符串的意思都是一样的,例如

spam = r'hello'
eggs = 'hello'

上面两个变量表示字符串没有任何差别。
在这里插入图片描述

以下代码能够说明r’'如何使转义符失效

print(r'aaa\naaa')
# 输出:aaa\naaa

print('aaa\naaa')
# 输出:
# aaa
# aaa

2)Python中的常用转义符

今天对Python中常用的转义符做了一个整理

代码 输出
print("Hello World\\Hello World") (反斜杠符号) Hello World\Hello World
print("Hello World\'Hello World")(单引号) Hello World’Hello World
print("Hello World\"Hello World")(双引号) Hello World"Hello World
print("Hello World\bHello World")(退格) Hello WorlHello World
print("Hello World\nHello World")(换行符) Hello World
Hello World
print("Hello World\tHello World")(横向制表符) Hello World Hello World
print("Hello World\rHello2 World")(回车) Hello2 World

3)JupyterNotebook路径输出的疑问

这也就解释了之前在JupyterNotebook中我对于路径输出的疑问,为什么用normpath()函数得到的路径依然是带有\\的路径
在这里插入图片描述
JupyterNotebook中的输出分为两种:1、正常输出文本,也就是我们用print函数在终端输出的文本
2、程序员可视文本,也就是当我们没有写输出函数时cell执行后在终端输出的结果,如上图所示

由于r’'的功能就是把"\n"变成"\\n",从而使转义字符失效,因此程序员可视文本就如上图所示有两个反斜杠\\

如果有print函数则结果将变为我们熟悉的输出
在这里插入图片描述
点击收货一只程序员朱帅
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43232564/article/details/107703097