一、为什么有多种定义方式
我们在刚接触python字符串的时候,可能都只知道用双引号来定义(''),但如果我们要定义的字符串中包含了双引号,那么python还能识别并输出出来吗?显然是不能的,那么如何解决这个问题呢?很简单,如果语句中包含双引号,那么我们用单引号就可以区分开了。
二、三种定义方式
1、单引号定义法
a = '我是单引号定义法'
如上所示,这种就叫做单引号定义法,我们可以使用单引号去将内容引起来,他也是字符串的一种。
2、双引号定义法
a = "我是双引号定义法"
如上所示,同样的,双引号引起来的也是字符串,我们可以使用双引号去将内容引起来。
3、三引号定义法
a = """我是三引号定义法"""
如上所示,三引号可能我们看着很奇怪,但他也是字符串。他有一点跟单引号和双引号定义法不同,那就是他可以定义多行字符串。
注意:三引号定义法和多行注释的写法是一样的(支持多行操作),所以说我们如果使用变量接收它,那么他就是字符串,如果不用变量去接收它,他就是多行注释。
三、如何定义包含引号的字符串
现在就来说说前面提起的问题(大标题一中的标蓝部分),那么这个情况下我们该如何定义字符窜呢?比如说我要定义一个变量a,这个变量的内容是拒绝内卷",那这个引号如何写才不会报错?对于这个问题解决方法还是很多的。
比如:如果字符串本身包含双引号,那么我们就用单引号来定义字符串。
如果字符串本身包含单引号,那么我们就用双引号来定义字符串。
还可以使用转义字符(\)将引号转义,让它变成普通字符串。
多的不说了,下面给大家演示一下,按照上方我将分别演示包含双引号,包含单引号以及使用转义字符来解决遇到的问题。
第一种情况(包含双引号)
a = '拒绝内卷"'
#输出结果:拒绝内卷"
#注意:输出时需要使用print来接收变量a
简单分析一下,当字符串本身包含双引号,那么我们直接使用单引号来定义字符串即可。
第二种情况(包含多引号)
a = "拒绝内卷'"
#输出结果:拒绝内卷'
#注意:输出时需要使用print来接收变量a
简单分析一下,当字符串本身包含单引号,那么我们直接使用双引号来定义字符串即可。
第三种情况:使用转义字符
a = "\"拒绝内卷"
#输出结果:"拒绝内卷
#注意:输出时需要使用print来接收变量a
也来简单分析一下,无论字符串包含单引号或者是双引号,我们都可以使用转义字符来转义,如下图,使用转义字符转义后,被转义的字符就会变成橙色(版本不同可能有所不同),再之后的输出也不会出错。
总结
本文先是讲了为什么有多种定义方式,然后紧接着讲了三种定义方式最后讲了如何定义包含引号的字符串。那么为什么会有多种定义方式呢?很简单,就是为了让大家灵活使用嘛!它的三种定义方式有:单引号定义、双引号定义、三引号定义,多引号定义(可以定义多行内容),大家根据情况使用即可。定义包含引号的字符串也很简单,当字符串本身存在双引号,那我们就用单引号来定义,相反,出现单引号,我们呢使用双引号来定义即可,在最后讲了使用转义字符来解决这一问题。