问答详情
源自:3-6 Python中raw字符串与多行字符串

r‘‘‘ ’’’ 与‘‘‘ ’” 有 什么区别呢

>>> print('''how are you \*_*/

... I'm fine

... and you ?''')

how are you \*_*/

I'm fine

and you ?

>>> print('\"To be, or not to be\": that is the question.\nWhether it\'s nobler in the mind to suffer.')

"To be, or not to be": that is the question.

Whether it's nobler in the mind to suffer.

>>> print(''' To be ,or not to be :that is a question.

... Whether it's nobler int her mind to suffer.''')

 To be ,or not to be :that is a question.

Whether it's nobler int her mind to suffer.


提问者:weixin_慕仰6074467 2020-10-18 11:22

个回答

  • 四饼同学
    2020-10-21 11:50:51

    r'''...'''会对'''...'''中的内容进行转义

    单独的'''...''',就只是一个换行的作用

    http://img4.mukewang.com/5f8fafde0001948312580512.jpg

  • 慕工程3321495
    2020-10-18 13:59:00

    >>> print('\"To be, or not to be\": that is the question.\nWhether it\'s nobler in the mind to suffer.')

    "To be, or not to be": that is the question.

    Whether it's nobler in the mind to suffer.

    >>> print(''' To be ,or not to be :that is a question.

    ... Whether it's nobler int her mind to suffer.''')

     To be ,or not to be :that is a question.

    Whether it's nobler int her mind to suffer.

    注意这两个输出的内容有区别,第一个输出的to be or not to be是带有双引号的,第二个没有。

    第一个print的内容因为即有双引号"To be, or not to be",又有单引号it's,因为在print的时候需要对内容中的引号进行转义,使用转义符号\,涉及到换行的时候使用\n

    第二个print的内容是没有双引号,只有单引号的,这种情况下不需要对引号进行转义,就可以输出,只需要使用'''...'''来进行转行。如果第二个print的内容跟第一个一样,即有双引号又有单引号,那么你只使用'''...'''恐怕打印不出想要的内容

    由于转义符号用起来比较麻烦,我们有一个相对简单的工具,叫raw字符串,即r'...',它表示对引号内的内容进行转义,即告诉计算机,你甭管引号里是什么内容了,直接依原样输出为字符串。当然raw字符串也可以搭配'''...'''来使用,即多增加了一个转行的效果。r'''...'''的作用是对引号内的内容进行转行并转义。

    '''...'''的作用只是对内容进行转行,如果涉及到需要转义的情况,它是完不成的。