上次我们提到了,有些字符比如换行符,Tab制表符还有单引号,双引号等等…,如果你想在字符串中使用他们,就要用到转义字符,既然谈到了转义字符,我们就不得不谈谈接下来的东西了…
原始字符串 (raw strings)那么什么时候需要用到原始字符串呢,我们举个例子
#例子:
print("D:threetwoonenow") #熟悉的print语句
D: hree woone #结果为什么是这样子的呢?
ow
我们这里的本意是想显示一个路径的,因为路径使用的是反斜杠,但是呢python认为,反斜杠加上一些特定的字符,就是一个转义字符,所以这里就按照转义字符的含义给出了解析,那么怎么解决这个问题呢?
解决这个问题很容易,我们可以用另一个反斜杠,去转义路径分割符的反斜杠
print("D:\three\two\one\now") #酱紫问题就解决了
D:threetwoonenow
如果有个一百多层的路径,你一个个加反斜杠会不会很麻烦,这里就有了一个很好的办法,解决了这个麻烦的问题
#这个时候,我们使用原始字符
print(r"D:threetwoonenow")
D:threetwoonenow #这里我们加一个r,问题得以解决,加上一个r,就表示后面的字符串是一个原始字符串,这样后面的转义字符都不再有效
使用反斜杠需要注意不能放在字符串末尾哦,因为反斜杠放在了末尾,就表示,这事还没完!
什么意思,我们举个例子
#这里我们想在python上打一个飞机,那么我们可以
print(" n
@ n
/ \ n
+ + n
+ + n
+ + + + + + n
+ + + + + + + n
+ + n
+ + n
+ + + + n
+ + + + + + nnn")
结果:
@
/
+ +
+ +
+ + + + + +
+ + + + + + +
+ +
+ +
+ + + +
+ + + + + +
酱紫一个小飞机就出来了
#如果用反斜杠结尾的话
print("I love langchen")
SyntaxError: EOL while scanning string literal #是的他就会报错
长字符串(triple quoted#也叫三引号字符串,三个单引号,三个双引号)
前后呼应,成双成对
长字符串为了干嘛呢?主要是为了实现“跨行字符串”,我们刚刚使用了反斜杠来实现跨行,但是呢,你使用长字符串就可以不用每个末尾都加一个反斜杠来表示,举个例子
例子: abc = """ 江上一笼统 井上黑窟窿 黄狗身上白 白狗身上肿 """ 结果: print(abc) 江上一笼统 井上黑窟窿 黄狗身上白 白狗身上肿字符串的加法和乘法 加法
这里有个小问题‘520’和520有区别嘛,来试试
520+1314 1834 '520'+'1314' '5201314' #很显然,字符串更懂得浪漫
字符串虽然可以使用加法操作,但是和数字截然不同,字符串相加,我们叫做拼接,就是将字符串,组合成一个新的长的字符串
乘法那么字符串除了可以使用加法进行拼接,也可以使用乘法进行复制,比如,你跟自己女朋友说,我每天爱你三千遍,但是女朋友让你写下来,你怎么办,我选择死亡,不过学习了python之后,既能救你一命,也能收获爱情,来试试
print('我每天爱你三千遍!n' * 3000)
结果太多python本能的折叠起来了
怎么样,这样你的女朋友也没有脾气了是不是?
文章枯燥无味,不如看看视频https://www.bilibili.com/video/BV1c4411e77t?p=5&spm_id_from=pageDriver&vd_source=88d7ed496d117f9ad4c5511dda16e281



