目录:
一、变量
二、字符串
>原始字符串
>长字符串
三、课时03课后习题及答案
***********
一、变量
***********
变量名就像我们现实社会的名字,把一个值赋值给一个名字时,Ta会存储在内存中,称之为变量(variable),在大多数语言中,都把这种行为称为“给变量赋值”或“把值存储在变量中”。
不过Python与大多数其他计算机语言的做法稍有不同,Ta并不是把值存储在变量中,而更像是把名字贴在值的上边。所以有些Python程序员会说“Python”没有“变量”,只有“名字”。
看个例子:
>>> teacher = "小甲鱼" >>> print(teacher) 小甲鱼 >>> teacher = "老甲鱼" >>> print (teacher) 老甲鱼
变量为什么不叫”恒量“而叫变量?正因为它是可变的!再看另外一个例子:
>>> x = 3 >>> x = 5 >>> y = 8 >>> z = x + y >>> print(z) 13
同样的方法也可以应用到字符串中:
>>> myteacher = "小甲鱼" >>> yourteacher = "老甲鱼" >>> ourteacher = myteacher + yourteacher >>> print(ourteacher) 小甲鱼老甲鱼
这种字符串加字符串的语法,在Python里称为字符串的拼接。
这里进行了一番想法的测试,想看看变量的值变过后,其相应的id地址是否发生了变化:
>>> y = 1 >>> print(y) 1 >>> id(y) 140728562340896 >>> y = 2 >>> print(y) 2 >>> id(y) 140728562340928
经实验证明,同一变量的值发生变化过后,其id地址也发生了变化。
需要注意的地方:
>在使用变量之前,需要对其先赋值。
>变量名可以包括字母、数字、下划线,但变量名不能以数字开头。
>字母可以是大写或小写,但大小写是不同的。也就是说fishc和FishC对于Python来说是完全不同的两个名字
>等号(=)是赋值的意思,左边是名字,右边是值,不可写反咯。
*************
二、字符串
*************
到目前为止,我们所认知的字符串就是引号内的一切东西,我们也把字符串叫做文本,文本和数字是截然不同的,咱看例子:
>>> 5+8
13
>>> “5”+”8″ #字符串的拼接
’58’
>>> ‘5’+’8′
’58’
>>> ‘Python I love you!”
SyntaxError: EOL while scanning string literal
要告诉Python你在创建一个字符串,就要在字符两边加上引号,可以是单引号或者双引号,Python女士表示不挑剔。但必须成对,你不能一边单引号,另一边却花心的用上双引号结尾。
如果字符串中需要出现单引号或双引号怎么办?
例如我想打印字符串:Let’s go!
有两种方法,第一种比较常用,就是使用我们的转义符号(\)对字符串中的引号进行转义。
还有一种就是利用Python既可以用单引号也可以用双引号来表示字符串这一特点,用上不同的引号表示字符串。
>>> 'Let\'t go'
"Let't go"
>>> print('Let\'t go')
Let't go
>>> "Let't go"
"Let't go"
>>> print("Let't go")
Let't go
因为\now中的\n是被print识别成了转移符号——回车。
然而直接显示字符串转义符号不会被解释,
所以就会这样。
原始字符串:
好像反斜杠是一个好东西,但不妨试试打印:
>>> str = 'C:\now' >>> str 'C:\now' >>> print(str) C: ow
我们可以用反斜杠对自身进行转义:
>>> str = 'C:\\now' >>> str 'C:\\now' >>> print(str) C:\now
但如果对于一个字符串中有很多个反斜杠:
原始字符串的使用非常简单,只需要在字符串前边加一个英文字母r即可:
>>> str = r"C:\Program Files\Intel\WiFi\Help" >>> str 'C:\\Program Files\\Intel\\WiFi\\Help' >>> print(str) C:\Program Files\Intel\WiFi\Help
在使用字符串的时候需要注意一点是:无论是否原始字符串,都不能以反斜杠作为结尾。如果你坚持这样会报错。
>>> string = 'FishC\' SyntaxError: EOL while scanning string literal
长字符串:
如果希望得到一个跨越多行的字符串,例如:
我爱鱼C,
正如我爱小甲鱼,
他那呱唧呱唧
呱唧呱唧
呱唧呱唧的声音,
总缠绕于我的脑海,
久久不肯散去……
这我们就需要使用到三重引号字符串!
>>> print(""" 我爱鱼C, 正如我爱小甲鱼, 他那呱唧呱唧 呱唧呱唧 呱唧呱唧的声音, 总缠绕于我的脑海, 久久不肯散去…… """) 我爱鱼C, 正如我爱小甲鱼, 他那呱唧呱唧 呱唧呱唧 呱唧呱唧的声音, 总缠绕于我的脑海, 久久不肯散去……
*******************************
三、课时03课后习题及答案
*******************************
测试题:
0. 如果非要在原始字符串结尾输入反斜杠,可以如何灵活处理?
错误1:
>>> str = r'C:\Program Files\FishC\Good\\'
>>> str
'C:\\Program Files\\FishC\\Good\\\\'
错误2:
>>> str = r'C:\Program Files\FishC\Good\'
File "<stdin>", line 1
str = r'C:\Program Files\FishC\Good\'
^
SyntaxError: EOL while scanning string literal
正确:
>>> str = r'C:\Program Files\FishC\Good''\\'
>>> str
'C:\\Program Files\\FishC\\Good\\'