字符串定义
如果用一句不严格的话讲,Python中的字符串就是被引号引起来的内容。如果要用准确的定义来讲,给出下面几种情况:
(1)被单引号或者双引号包围任意多的单行字符。这点要注意的是,单引号或者双引号是成对出现的,不能一个单引号配对一个多引号。例;
a = 'my'
b = "name"
c = "is'
d ='my name
is lee'
#a,b是合法字符串,c,d不合法,c中单双引号没有成对,d中字符串出现在了多行之间,在命名的时候c,d的命名方式会报错。
(2)被三对引号包围多的任意字符。上面说所一对引号定义的字符串不能换行的情况,可以用这种字符串定义去解决,这种情况下的定义,例:
a = '''面朝大海
春暖花开'''
b = """你好,
我是。。。"""
字符串使用的特殊情况
有时候我们命名字符串的时候回出现一些特殊情况,例:
a = 'let's go'
这种情况下命名的a就是错误的,因为此时的引号不是成对出现的,系统无法判断三个单引号之间如何配对,但是我们还想要命名这个字符串,此时就有两种方法命名:
a = "let's go"
b = 'let\'s go'
a中巧妙的使用了单双引号混合使用的方法,这样系统就能正确的判断。对于b的命名方式,这里需要引入转义字符的概念,简言之,转义字符就是在‘\’之后加上一些特定的数字或字符后,形成新的意义。在字符串b中‘\’加上一个单引号之后,此时就发生了转义,即此时的单引号就是一个单纯的字符已经不会参与其他单引号的配对,那么此时也就不会出现系统无法判断的情况了。再举一个例子:
a = 'hello,\n,my name is ...'
a中定义的字符串中出现了‘\n’,这个转义的意思字Linux系统下是回车换行的意思,就是说,如果把a输出的话,会出现'hello,'在第一行,‘,my name is ...’在第二行。至于其他的转义字符可以查看相关资料,这里给出一个链接:https://blog.csdn.net/u010159842/article/details/71524163。
但是,有时候我们不想转义怎么办?还是上面的这个例子,我们就想输出a的时候要输出'hello,\n,my name is ...',那么我们就需要在字符前面加上一个‘r’既可以原样输出了,例:
a = r'hello,\n,my name is ...'
能力有限,如有错误,望指正,感谢!