博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对于Python中RawString的理解
阅读量:6609 次
发布时间:2019-06-24

本文共 942 字,大约阅读时间需要 3 分钟。

总结

1、'''作用: 可以表示 "多行注释" 、"多行字符串" 、"其内的单双引号不转义"

2、r 代表的意思是: raw

3、r 只对其内的反斜杠起作用(注意单个 \ 的问题)

raw string 有什么用处呢? raw string 就是会自动将反斜杠转义。

>>> print('\n')>>> print(r'\n')\n>>>

(注:出现了两个空行是因为 print() 会自动添加一个空行)

再举个例子:

>>> r'\\\\\\' == '\\\\\\\\\\\\'True>>> print('\\\\\\\\\\\\') \\\\\\ >>> print(r'\\\\\\') \\\\\\ >>>

上述就是raw string 的基本功能。

所谓的

print(r'''1234''')

print('''1234''')

效果一样的原因其实就在于

三引号内没有 \ 所以 r 英雄无用武之地

有一点要注意的是,raw string 并不能让诸如 print(r'\') 起作用。因为在编译时Python还是会尝试使用反斜杠来转义单引号,从而造成字符串没有终止的问题.

举例:

>>> print(r'C:\Windows\System32')C:\Windows\System32>>> print('C:\\Windows\\System32')C:\Windows\System32>>> print('C:\Windows\System32') C:\Windows\System32 >>>

最后一行也可以生效的原因是,\W 和 \S 什么都不是。所以在这个例子中Python发现“无法转义”,所以就不做任何转义而直接打印转义符。但是:

>>> print('C:\Windows\System32\new')C:\Windows\System32ew>>> print(r'C:\Windows\System32\new')C:\Windows\System32\new

就不一样了。

本文转自莫水千流博客园博客,原文链接:http://www.cnblogs.com/zhoug2020/p/5851747.html,如需转载请自行联系原作者

你可能感兴趣的文章
RHEL/Centos7新功能
查看>>
DBA日常工作职责
查看>>
Redis的持久化
查看>>
linux安装NFS服务器学习
查看>>
Planner .NET日历日程控件能给你的应用程序提供多种日历日程功能
查看>>
我的友情链接
查看>>
Linux压力测试
查看>>
JAVA中的线程机制(二)
查看>>
nginx安装与配置2(转载)
查看>>
沈阳一饭店凌晨爆燃,燃气报警器时刻预防
查看>>
Redis 与 数据库处理数据的两种模式
查看>>
VUE2中axios的使用方法
查看>>
CS 229 notes Supervised Learning
查看>>
2018.10.27-dtoj-3996-Lesson5!(johnny)
查看>>
DataTable转换成json字符串
查看>>
ubuntu 12.04 安装 redis
查看>>
【DM642】ICELL Interface—Cells as Algorithm Containers
查看>>
svs 在创建的时候 上传文件夹 bin obj 这些不要提交
查看>>
Tinkphp
查看>>
How to temporally disable IDE tools (load manually)
查看>>