python单引号和双引号的区别

Python017

python单引号和双引号的区别,第1张

在Python中,引号双引号功能一样,都可以表示字符串,也都可以起到转义的功能。

例如:

print('-\t-\\-\'-%-/-\n')

print("-\t-\\-\'-%-/-\n")

他们显示结果都是一样的:都显示转义后的字符:

- -\-'-%-/-

其实在转义这一点上,三个引号的功能也是一样的,例如:

print('''-\t-\\-\'-%-/-\n''')

print("""-\t-\\-\'-%-/-\n""")

同样都会显示上面的结果。

但是,三引号的独特之处在这里:可以显示多行

例如:

# 三单引号(''')

print('''i

love

you''')

#三双引号(""")

print("""I can print '''"""")

print("""i

love

you""")

上面两段代码的打印效果是一样的,都显示:

i

love

you

所以总结一下就是:

单引号和双引号是等效的,如果要换行,那么需要使用符号\。单引号里面不能再加单引号,但是可以加\或者是双引号进行转义输出。双引号里面不能再加双引号,但是可以加\或者是单引号进行转义输出。

三引号括起来的字符串可以直接进行换行,并且可以包含注释。

为啥一定都用双引号呢?

gp.CalculateField_management(a, "Type", '"林地"') #外面是单引号,里面可以直接使用双引号,不必转义

如果使用变量代替可以这样:

a = “林地”

b = '"%s"' % a

gp.CalculateField_management(a, "Type", b)

也可以这样:

a = “林地”

b = a

gp.CalculateField_management(a, "Type", '"%s"' % b)

这与直接用a又有啥区别呢?还是第一种吧