逃避序列在Python中练习

时间:2014-03-19 21:41:37

标签: python escaping sequences

我是编程的新手,所以我决定从Python开始。

到目前为止,我一直在慢慢地从http://cscircles.cemc.uwaterloo.ca学习,到目前为止我对它的理解大部分都是如此,但是我仍然坚持第3课关于逃脱序列的练习。

练习说要编写一个打印以下内容的程序:使用反斜杠转义双引号,例如: \"

到目前为止,我已将此作为我的答案:print("双引号' s使用反斜杠转义,例如\")但我似乎无法获得反斜杠后显示的报价。我希望有人能够向我解释这一点。

提前致谢,

-Fear

4 个答案:

答案 0 :(得分:1)

为什么我们需要转义字符串?

这是因为我们想在字符串中使用一些特殊字符。 特殊字符是什么意思? 特殊字符可用于构造字符串本身。

例如。 "或者'

现在,如果你有这个字符串,"I like the symbol " !!!"

Python看到第一个"而下一个"并认为字符串已结束,并在那里出错。

但是添加反斜杠可以实现,因为反斜杠告诉python下一个字符是作为字符串的一部分而不是特殊字符读取的。在你的情况下,你告诉python不使用结束"作为一个特殊的角色,所以它必然会出错。

您的解决方案将为print("A double-quote's escaped using a backslash, e.g. \"")

这是因为倒数第二个"被评估为字符串和最后一部分的一部分。是一个特殊的角色。

此外,python提供了使用

进行此功能的功能

print('A double-quote's escaped not using a backslash, e.g. \"')

因为在这种情况下,"不再是一个特殊的角色,因为'正在照顾它。 即使相反的情况也适用,

print("A single-quote's escaped not using a backslash, e.g. '")

答案 1 :(得分:1)

Boolean successFlag = false; 
try {
   session.getMapper(myMapper.class).update(param1, param2, param3, successFlag);
} catch (Exception e) {
      logger.error(e.getMessage());
}       
logger.info("successFlag: "+successFlag);
return successFlag;

答案 2 :(得分:0)

这里有两个选项:

print ("My \"super awesome\" escaped string")

( - > My "super awesome" escaped string

这符合要求,但只使用单引号可能更加pythonic:

print ('My "super awesome" single-quoted string')

( - > My "super awesome" single-quoted string

答案 3 :(得分:0)

你有两种方法可以做到:

print 'print a double-quote: " '

print "print a double-quote: \" "

在大多数语言中,字符串以此符号之一开头:'或',并以相同的符号结束 因此,如果你用“你必须完成它”开始你的字符串(同样适用于') 但是如果你想打印你用来标记/结束你的字符串的符号本身,你需要先使用\来转义它,告诉计算机这不是我的字符串的结尾。

这不起作用:

print "print a double-quote: " "

计算机会认为字符串将在第二个“而不是第三个”完成,这就是你需要添加一个\之前计算机将知道这不是字符串的结尾而是字符本身。