入门任何一门编程语言,前面总是离不开变量,字符串这些概念,而且这些东西在往后的日子里,有着至关重要的存在。因为不管我们写什么程序,都要用到变量以及字符串。
变量
首先,我们的变量在定义的时候,是不需要给他定义类型的,也可以说,在赋值的时候,由“=”右边的赋值类型决定。
然后Python与大多数其他计算机语言的做法有所不同,并不是把值存储在变量之中的,而是更像把名字“贴”在值的上边。所以,有些Python程序员会说Python没有变量,只有名字,变量就像是一个名字,通过这个名字,可以找到我们想得到的东西。
请看例子:
>>> name = "CionDa">>> print (name)CionDa>>> name = "Cion">>> print (name)Cion
而变量为什么不叫恒量却叫变量呢??正是因为它是可变的!请看例子:
>>> first = 3>>> second = 7>>> second = 4>>> third = first + second>>> print (third)7
上面的例子,先创建一个变量(first),赋值3;接着创建另一个变量(second),先给它赋值为7,然后又赋值为4;最后创建一个变量(third),把first跟second的和赋值给third。而我们同样的例子可以运用到字符串拼接中:
>>> name_first = CionTraceback (most recent call last): File "", line 1, in name_first = CionNameError: name 'Cion' is not defined#在给变量赋值字符串的时候,我们要注意加双引号>>> name_first = "Cion">>> name_second = "Da">>> myname = name_first + name_second>>> print(myname)CionDa
字符串
我们的字符串即是引号内的东西,同时我们也把文本叫做字符串,而文本跟数字是不同的东西,请看例子:
>>> 3+710>>> '3'+'7''37'>>> "3"+"7"'37'
从上面例子我们可以看到,在字符(串)的两边必须加上引号,而单引号与双引号对字符(串)的使用是没有拘束的。但是必须成对存在,请看例子:
>>> 'Ci'+"on"'Cion'>>> 'Cion"+'Da'SyntaxError: invalid syntax
但是有时候当我们的字符串中,出现 单引号(') 的时候怎么办,解决这个问题有两个办法:
①使用转义符号(\)来对字符串中的引号进行转义(最常用的一种)
②既然我们的python是高级语言,那么高级语言就要有高级语言的亚子,所以我们在字符串中出现单引号(')时,我们可以利用双引号来赋值^_^
请看例子:
>>> 'I'am CionDa'SyntaxError: invalid syntax#报错>>> 'I\'am CionDa'"I'am CionDa"#第一种解决办法>>> "I'am CionDa""I'am CionDa"#第二种解决办法
原始字符串
这样看起来反斜杠(\)是个好东西,但是真的是这样么:
#①>>> string = 'C:\Python'>>> string'C:\\Python'>>> print (string)C:\Python#②>>> str = 'D:\new'>>> str'D:\new'>>> print (str)D:ew
看①输出是没什么问题的,但是二却出乎我们的意料,变成了换行,我们想想在初学C语言的时候,我们的\n是什么意思(没错就是换行),当我们在python里面输入\n时,python也一样(因为python是C语言写出来的,有其父必有其子嘛)。所以我们这里也可以用到转义字符,但是如果出现下面②的情况怎么办,请看例子:
#①>>> str = 'D:\\new'>>> str'D:\\new'>>> print (str)D:\new#②>>> string = 'D:\\new\aaa\bbb'>>> string'D:\\new\x07aa\x08bb'>>> print (string)D:\newaabb#③>>> #或者你们又会想,每个前面加‘\’即可了,没错,但是要是路径深呢>>> string = 'D:\\new\\aaa\\bbb\ccc\\ddd\\eee'>>> string'D:\\new\\aaa\\bbb\\ccc\\ddd\\eee'>>> print (string)D:\new\aaa\bbb\ccc\ddd\eee#④>>> #而我们python这里有一种办法可以解决,就在引号前加‘r’>>> string = r'D:\new\aaa\bbb\ccc\ddd\eee'>>> string'D:\\new\\aaa\\bbb\\ccc\\ddd\\eee'>>> print (string)D:\new\aaa\bbb\ccc\ddd\eee
当我学会字符串后,我的诗意大发,便想吟诗一首:
青青园中葵,朝露待日晞。
阳春布德泽,万物生光辉。 常恐秋节至,焜黄华叶衰。 百川东到海,何时复西归? 少壮不努力,老大徒伤悲。诗意一来,便想写进python里跑一跑
>>> print ("青青园中葵,朝露待日晞。\n阳春布德泽,万物生光辉。\n常恐秋节至,焜黄华叶衰。\n百川东到海,何时复西归?\n少壮不努力,老大徒伤悲。")青青园中葵,朝露待日晞。阳春布德泽,万物生光辉。常恐秋节至,焜黄华叶衰。百川东到海,何时复西归?少壮不努力,老大徒伤悲。>>> #那么累,下次我再也不吟诗了,再也不在程序里跑古人的诗词了>>> print ("""青青园中葵,朝露待日晞。阳春布德泽,万物生光辉。常恐秋节至,焜黄华叶衰。百川东到海,何时复西归?少壮不努力,老大徒伤悲。""")青青园中葵,朝露待日晞。阳春布德泽,万物生光辉。常恐秋节至,焜黄华叶衰。百川东到海,何时复西归?少壮不努力,老大徒伤悲。>>> #但是我们的python就是强大,不允许我放弃学习