为了账号安全,请及时绑定邮箱和手机立即绑定

对于r'...'、'''...'''和r'''...'''的区别始终理解不了

1、对于r,表示这是一个raw的字符串,里面的字符就不需要转义了???是说里面不能加\n进行转义吗?还是怎么样???不懂!

2、r'...'不能表示多行字符串?这个r'...'与前面的r一样吗???

3、'''...'''与r'''...'''有什么区别吗?在操作的过程中,好像都一样啊。看不出什么区别

请大神们指教!!!谢谢

正在回答

6 回答

简单一点说  ''' ''' 是所见即所得 包括你的排版

r " " 是原始字符串,raw 就是没有被转义之前的 

0 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//586c6d9200017ce206530418.jpg

http://img1.sycdn.imooc.com//586c6f1a000190e402430119.jpg

如图所示,我觉得就是  有 r ,保留真实字符串,里面有需要进行转义的就不在转义,没有 r自动转义(图1)。 

''' ''' 三引号就是进行多行字符输入, r还是转义不转义的区别(图2)

3 回复 有任何疑惑可以回复我~
#1

小东方不败

666,比我细心
2017-01-04 回复 有任何疑惑可以回复我~
  1. 当有r的时候,里面可以有\n,但\n不会进行转义了;

  2. r'...'不能表示多行字符串的;

  3. '''...'''只是表示多行字符串而已,如果里面有\n时,还是会进行转义的;r'...'表示多行字符串并不需要转义,如果里面有\n时,不会对\n进行转义,即直接打印\n的。

3 回复 有任何疑惑可以回复我~
  1. 里面不能加\n进行转义了,因为不需要转义。直接使用时换行直接enter换行写就行

  2. r'...'不能表示多行字符串,因为多行字符串肯定含有了\n

  3. 这个我也不知道,一直都把两个一样用

0 回复 有任何疑惑可以回复我~
#1

小东方不败

对于第一个问题,我觉得用enter换行写不行的,如果需要多行的话,还是需要r'''...'''的,你可以自己运行文件来看一下,如果用enter是会报错的
2017-01-04 回复 有任何疑惑可以回复我~

我也是一个初学python,下面说一下我的理解。对于第一个问题,raw是原始字符串,r''表示这个字符串中都已经转义过了,比如r'\n'其实是普通字符串中的'\\n',第二个问题我觉得r后面肯定要接''或者'''''否则怎么知道他是一个字符串。第三个问题,我觉得'''...'''包含r'''...'''因为后面还讲到u'''...'''和ur'''...'''等,索性在这里就把他理解成范围更大的字符串呗

0 回复 有任何疑惑可以回复我~

r'...'里面的\n还是需要写\n换行来表示多行字符串 有r不需要转义 无r需要转义

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

对于r'...'、'''...'''和r'''...'''的区别始终理解不了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信