变量和字符串 (下嗷)
上次我们提到了,有些字符比如换行符,Tab制表符还有单引号,双引号等等…,如果你想在字符串中使用他们,就要用到转义字符,既然谈到了转义字符,我们就不得不谈谈接下来的东西了…
原始字符串 (raw strings)
那么什么时候需要用到原始字符串呢,我们举个例子
#例子:
print("D:\three\two\one\now") #熟悉的print语句
D: hree wo\one #结果为什么是这样子的呢?
ow
我们这里的本意是想显示一个路径的,因为路径使用的是反斜杠,但是呢python认为,反斜杠加上一些特定的字符,就是一个转义字符,所以这里就按照转义字符的含义给出了解析,那么怎么解决这个问题呢?
解决这个问题很容易,我们可以用另一个反斜杠,去转义路径分割符的反斜杠
print("D:\\three\\two\\one\\now") #酱紫问题就解决了
D:\three\two\one\now
如果有个一百多层的路径,你一个个加反斜杠会不会很麻烦,这里就有了一个很好的办法,解决了这个麻烦的问题
#这个时候,我们使用原始字符
print(r"D:\three\two\one\now")
D:\three\two\one\now #这里我们加一个r,问题得以解决,加上一个r,就表示后面的字符串是一个原始字符串,这样后面的转义字符都不再有效
使用反斜杠需要注意不能放在字符串末尾哦,因为反斜杠放在了末尾,就表示,这事还没完!
什么意思,我们举个例子
#这里我们想在python上打一个飞机,那么我们可以
print(" \n\
@ \n\
/ \\ \n\
+ + \n\
+ + \n\
+ + + + + + \n\
+ + + + + + + \n\
+ + \n\
+ + \n\
+ + + + \n\
+ + + + + + \n\n\n")
结果:
@
/ \
+ +
+ +
+ + + + + +
+ + + + + + +
+ +
+ +
+ + + +
+ + + + + +
酱紫一个小飞机就出来了
#如果用反斜杠结尾的话
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