-
Notifications
You must be signed in to change notification settings - Fork 14
Description
1 个双引号与 3 个双引号的区别
双引号所表示的字符串通常要写成一行,如:
s1 = "hello,world"如果要写成多行,那么就要使用 \ (“连行符”)吧,如:
s2 = "hello,\
world"s2与s1是一样的。如果你用3个双引号的话,就可以直接写了,如:
s3 = """hello,
world,
hahaha."""那么s3实际上就是 "hello,\nworld,\nhahaha." , 注意 \n ,所以,
如果你的字符串里 \n 很多,你又不想在字符串中用 \n 的话,那么就可以使用3个双
引号。而且使用3个双引号还可以在字符串中增加注释,如:
s3 = """hello, #hoho, this is hello, 在3个双引号的字符串内可以有注释哦
world, #hoho, this is world
hahaha."""这就是3个双引号和1个双引号表示字符串的区别了,3个双引号与1个单引号的区别也
是和这个一样的
Python 支持单引号是有原因的,下面比较 1 个单引号和 1 个双引号的区别
当我用单引号来表示一个字符串时,如果要表示 Let's go 这个字符串,必须这样:
s4 = 'Let\'s go'注意没有,字符串中有一个 ' ,而字符串又是用 ' 来表示,所以
这个时候就要使用转义符 \ ( \ ,转义符应该知道吧), 如果你的字符串中有一大堆
的转义符,看起来肯定不舒服, Python 也很好的解决了这个问题,如:
s5 = "Let's go"这时,我们看, Python 知道你是用 " 来表示字符串,所以 Python 就把字符串中的那
个单引号 ' , 当成普通的字符处理了,是不是很简单。
对于双引号,也是一样的,下面举个例子
s6 = 'I realy like "python"!'这就是单引号和双引号都可以表示字符串的原因了。
以上参考自:http://www.cnblogs.com/sirsunny/archive/2005/04/15/138608.html
补充:字符串既可以使用单引号,又可以使用双引号
LIGHT_MESSAGES = {
'English': "There are %(number_of_lights)s lights.",
'Pirate': "Arr! Thar be %(number_of_lights)s lights."
}这个习惯来自 Unix 传统。
在 Unix Shell 传统中,无论单引号还是双引号都可以用来表示字符串,但是单引号内部的变量不被解析,而双引号内部的变量将会被展开。
而 Python 是个历史非常悠久的语言,悠久得在那个年代主流的系统就是 Unix ,所以有很多经典代码都养成了这样的习惯:一个纯粹的字符串,使用单引号。一个内部含有需要转义并展开用变量的字符串,用双引号。