Discuss / Python / 您好,关于r'''...''' 有些疑问

您好,关于r'''...''' 有些疑问

Topic source

Hobbey

#1 Created at ... [Delete] [Delete and Lock User]

对于:

print(r'''line1 ... line2 ... line3''')

我的理解是对于line1~3 里面都不转义

但是实际操作有点问题 我发现不能以1个\或者3个\结尾 否则无法结束...提示符

举个例子:

print(r'''\\\ ... \''') ... \\''') ... \''') \\\ \''') \\''') \

不知道是我对r'''...'''的用法理解有错误,还是这里有额外需要注意的地方

非常感谢

Hobbey

#2 Created at ... [Delete] [Delete and Lock User]

抱歉,代码是这样子的

>>> print(r'''\\\\\
... \''')
... \\\''')
... \\''')
\\\\\
\''')
\\\''')
\\

问一个比较2的问题哈: 第一版: age=input() if age>=18: print('adult') else: print('teenager') 我输入了23 错误:unorderable types: str<> >= int<>

第二版: age=input() if age=18: print('adult') else: print('teenager')

这个的提示是invalid syntax

不好意思。。。第一次用,前面没有办法留言就跑来这里试试,不知道怎么删- -

承德沈楠

#5 Created at ... [Delete] [Delete and Lock User]
age=input()
if int(age)>=18:
    print('adult')
else:
    print('teenager')

做int()类型转换

swslithearty

#6 Created at ... [Delete] [Delete and Lock User]

http://www.iteye.com/problems/64471 链接中有句话“字符串的末尾,即使是原始(raw)字符串末尾也不能带奇数个反斜杠,因为这会引起后续引号的转义”。 我是这样理解的:当字符串末尾出现奇数个"\"时,即使字符串前加了"r","\"仍然发挥转义的作用,会使得后面的引号转义,从而出现语法错误了。你可以试下这段代码:print(r'1\')。末尾加了"\"就会出现引号的缺省。 回到你的代码。当出现奇数个"\"结尾时,三个引号中第一个会被转义,于是出现引号缺省,字符串不完整,就会让你继续输入了。你试下奇数个反斜杠后跟4个引号就可以结束了。

Hobbey

#7 Created at ... [Delete] [Delete and Lock User]

@swslithearty 理解了,非常感谢!


  • 1

Reply