python字符串引号和转义_单引号字符串和转义符
1、单引号字符串和转义符
字符串和数字⼀样都是值,可以直接使⽤,在python控制台中直接输⼊字符串,如“hello world”,会按原样输出该字符串,只不过⽤单引号扩了起来
>>> "Hello World"
'Hello World'
那么⽤双引号和单引号括起来的字符串有什么区别呢?其实没有任何区别,只不过在输出单引号或双引号时⽅便⽽已。例如,在python控制台输⼊‘let's go!’,会抛出如下的错误
>>> 'Let's go!' File "", line 1
'Let's go!' ^SyntaxError: invalid syntax
这是因为python解析器⽆法判断字符串中间的单引号是正常的字符,还是多余的引号,所以会抛出语法错误异常,要输出单引号的⽅法很多,其中之⼀就是使⽤双引号将字符串括起来
>>> "Let's go!"
"Let's go!"
现在输⼊单引号是解决了,如何输出双引号呢,只需要⽤单引号将字符串括起来就好
>>> '我们应该在⽂本框中输⼊"Python"'
'我们应该在⽂本框中输⼊"Python"'
现在输⼊单引号和输出双引号都解决了,如何同时输出单引号和双引号呢?对于这种需求,就要使⽤本节要介绍的另外⼀个知识点:转义符。python语⾔中的转义符是反斜杠\。转义符的功能是告诉python解释器反斜杠后⾯的是字符串中的⼀部分,⽽不是⽤于将字符串括起来的单引号和双引号。所以如果字符串同时包含单引号和双引号,那么转义符是必须的。
print('Let\'s go!. \"⼀起⾛天涯\"') #Let's go!. "⼀起⾛天涯"
在上⾯这⾏代码中,单引号和双引号都是⽤的转义符,其实在这个例⼦中,由于字符串是由单引号括起来的,所以如果⾥⾯包含双引号,是不需要对双引号使⽤转义符的
下⾯的例⼦演⽰了python语⾔中单引号和双引号的⽤法,以及转义符在字符串中的应⽤
实例位置:PythonSamples\src\chapter2\demo2.10.py#使⽤单引号的字符串,输出结果:Hello World
print('Hello World')#使⽤双引号的字符串,输出结果:Hello World
print("Hello World")#字符串中包含单引号,输出结果:Let's go!
print("Let's go!")#字符串中包含双引号,输出结果:"⼀起⾛天涯"
print('"⼀起⾛天涯"')#字符串中同时包含单引号和双引号,其中单引号使⽤了转义符,输出结果:Let's go! "⼀⼈我饮酒醉"
print('Let\'s go! "⼀⼈我饮酒醉"')
2、拼接字符串
在输出字符串时,有时字符串会很长,在这种情况下,可以将字符串写成多个部分,然后拼接到⼀起,我们可以尝试下⾯的⼀种写法
>>> 'Hello' 'world'
'Helloworld'
这种写法是将两个字符串挨着写到⼀起,字符串中间可以有0到n个空格。现在让我们看看这种⽅式能否将两个字符串变量的值组合到⼀起
>>> x = 'hello'
>>> y = 'world'
>>>x y
File"", line 1x y^SyntaxError: invalid syntax
我们可以看到,如果是两个字符串类型的变量紧挨着写在⼀起,python解释器就会认为是语法错误,所以这种⽅式实际上并不是字符串的拼接,只是⼀种写法⽽已,⽽且这种写法必须是两个或多个字符串值写在⼀起,⽽且不能出现变量,否则python解释器就会认为是语法错误
如果要连接字符串,要⽤加号(+),也就是字符串的加法运算
>>> x = 'Hello'
>>> x + 'World'
python解释器下载'Hello World'
下⾯的代码演⽰了字符串拼接的⽅法
#将字符串写到⼀起输出,运⾏结果:helloworld世界你好
print("hello""world""世界你好")
x="hello"#声明字符串变量x
y="world"#声明字符串变量y
#print(x y)#抛出异常,变量不能直接写到⼀起
print(x+y)#字符串拼接,要使⽤加号(+),运⾏结果:helloworld
3、保持字符串的原汁原味
在前⾯的⽂章讲过转义符\的应⽤,其实转义符不光能输出单引号和双引号,还能控制字符串的格式,例如,使⽤‘\n’表⽰换⾏,如果在字符串中含有‘\n’,那么‘\n’后的所有字符都会被移到下⼀⾏
>>> print('Hello\nWorld')
Hello
World
如果要混合输出数字和字符串,并且换⾏,可以先⽤str函数将数字转换为字符串,然后在需要换⾏的地⽅加上‘\n’
>>> print(str(1234) + "\n" + str(4321))1234
4321
不过有的时候,我们不希望python解释器转义特殊字符,希望按原始字符串输出,这时需要使⽤repr函数
>>> print(repr("Hello\nWorld"))'Hello\nWorld'
使⽤repr函数输出的字符串,会使⽤⼀对单括号括起来
其实如果只想输出“\n”或其他类似的转义符,也可以使⽤两个反斜杠输出“”,这样“”后⾯的n就会被认为是普通的字符了
>>> print("Hello\\nWorld")
Hello\nWorld
除了前⾯介绍的repr和转义符外,在字符串前⾯加‘r’也可以原样输出字符串
>>> print(r"Hello\nWorld")
Hello\nWorld
现在总结⼀下,如果让⼀个字符串按原始内容输出(不进⾏转义),有如下三种⽅法
repr函数
转义符()
在字符串前⾯加‘r’
下⾯的例⼦演⽰了str和repr函数的⽤法
#输出带“\n"的字符串,运⾏结果:
print("")#⽤str函数将1234转换为数字,运⾏结果:1234
print(str(1234))#抛出异常,len函数不能直接获取数字的长度#print(len(1234))#将1234转换为字符串后,获取字符串长度,运⾏结果:4
print(len(str(1234)))#运⾏结果:
print(str(""))#运⾏结果:13
print(len(str("")))#运⾏结果:''
print(repr(""))#运⾏结果:16
print(len(repr("")))#使⽤转义符输出“\”,输出的字符串不会⽤单引号括起来,运⾏结果:hello\nworld
print("")#运⾏结果:14
print(len(""))#在字符串前⾯加“r”,保持字符串原始格式输出,运⾏结果:hello\nworld
print(r"")#运⾏结果:14
print(len(r""))
我们可以看到,使⽤repr函数输出的“”字符串被⼀对单引号括了起来,⽽且字符串长度是16。⽽使⽤str函数输出同样的字符串,长度是13。在str函数输出的字符串中,‘\n’算⼀个字符,长度为1,⽽⽤repr函数输出的字符串中,‘\n’是两个字符,长度为2。再加上⼀对单引号,所以长度是16。
4、长字符串
在前⾯的⽂章讲过转义符\的应⽤,其实转义符不光能输出单引号和双引号,还能控制字符串的格式,例如,使⽤‘\n表⽰换⾏’,如果在字符串中含有‘\n’,那么‘\n’后的所有字符都会被移到下⼀⾏
在前⾯的⽂章讲了使⽤3个单引号或双引号括起来的⽂本会成为多⾏注释,其实如果将这样的字符串使⽤print函数输出,或赋给⼀个变量,就会成为⼀个长字符串。在长字符串中会保留原始的格式
print("""Hello # 长字符串,会按原始格式输出
World""");
如果使⽤长字符串表⽰⼀个字符串,中间可以混合使⽤双引号和单引号,⽽不需要加转义符
print("""Hell"o" # 长字符串,中间混合使⽤双引号和单引号
W'o'rld"""
下⾯的例⼦演⽰了长字符串的⽤法
print('''I # 使⽤3个单引号定义长字符串
'love'
"Python"''')
s= """Hello # 使⽤双引号定义长字符串
World
世界
你好"""
print(s) #输出长字符串
print("Hello\ # 每⾏字符串在回车符之前⽤转义符,就可以将字符串写成多⾏World")
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论