前言
小甲鱼说,在对前边的小游戏改善前,先了解下,Python中的变量与字符串。
主要内容
-
变量
变量名就像我们现实社会的名字,把一个值赋值给一个名字时,Ta会存储在内存中,称之为变量(variable),在大多数语言中,都把这种行为称为“给变量赋值”或“把值存储在变量中”
不过python与大多数其他计算机语言的做法稍有不同,Ta并不是把值存储在变量中,而更像是把名字贴在值的上边。
所以有些python程序员会说“python”没有“变量”,只有“名字”。
举个例子:
>>> teacher = '小甲鱼'
>>> print(teacher)
小甲鱼
>>> teacher = '老甲鱼'
>>> print(teacher)
老甲鱼
>>>
>>> first = 3
>>> second = 8
>>> third = first + second
>>> print(third)
11
>>>
>>> myteacher = '小甲鱼'
>>> yourteacher = '黑夜'
>>> ourteacher = myteacher + yourteacher
>>> print(ourteacher)
小甲鱼黑夜
>>>使用变量需要注意的地方:
-
在使用变量之前,需要对其先赋值
>>> fishc
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
fishc
NameError: name 'fishc' is not defined -
变量名可以包含字母、数字、下划线,但变量名不能以数字开头。
>>> 1f = '3'
SyntaxError: invalid syntax - 字母可以是大写或小写,但大小写是不同的。也就是说fishc和FishC对于python来说是完全不同的两个名字。
- 等号
=
是赋值的意思,左边是名字,右边是值,不可写反。 - 变量的命名理论可以取任何合法的名字,但作为一个优秀的程序员,请将尽量给变量取一个专业点的名字
-
-
字符串
到目前为止,我们所认知的字符串就是引号内的一切东西,我们也把字符串叫做文本,文本和数字是截然不同的:>>> 5 + 8
13
>>> '5' + '8'
'58'
>>>要告诉python你在创建一个字符串,就要在字符两边加上引号,可以是单引号或者双引号,但必须成对,你不能一边单引号,另一边却花心的用上双引号结尾。
>>> 'fishC"
SyntaxError: EOL while scanning string literal如果字符串中需要出现单引号或双引号怎么办?例如我想打印字符串:Let’s go!
有两种方法,第一种比较常用,就是使用我们的转义符号
\
对字符串中的引号进行转义:>>> 'Let's go!'
SyntaxError: invalid syntax
>>> print('Let's go!')
SyntaxError: invalid syntax
>>> print('Let\'s go!')
Let's go!第二种,对此字符串加上
"
,例如:print("Let's go!")
-
原始字符串
好像反斜杠是一个好东西,但不妨试试打印:str = 'C:\now'
>>>print(str)
C:
ow
我们可以用反斜杠对自身进行转义:str = 'C:\\now'
>>> print(str)
C:\now但如果对于一个字符串中有很多个反斜杠:
str ='C:\Program Files (x86)\Intel\Bluetooth'
这时候就可以使用原始字符串,只需要在字符串前边加一个英文字母r即可:str =r'C:\Program Files (x86)\Intel\Bluetooth\'
原始字符串在最后是不能出现反斜杠,否则会出现语法错误,例如:
>>> str =r'C:\Program Files (x86)\Intel\Bluetooth\'
SyntaxError: EOL while scanning string literal如果要求要在最后出现反斜杠,该怎么做呢?可以写成以下形式:
str =r'C:\Program Files (x86)\Intel\Bluetooth''\\'
>>> print(str)
C:\Program Files (x86)\Intel\Bluetooth\
-
长字符串
如果想把以下文字打印出来,该怎么做?我爱鱼C,
正如我爱小甲鱼,
他那呱唧呱唧
呱唧呱唧
呱唧呱唧的声音,
总缠绕于我的脑海,
久久不肯散去......这时候可以利用三重引号:
>>> str = '我爱鱼C,
正如我爱小甲鱼,
他那呱唧呱唧
呱唧呱唧
呱唧呱唧的声音,
总缠绕于我的脑海,
久久不肯散去......'
SyntaxError: EOL while scanning string literal>>> str = '''我爱鱼C,
正如我爱小甲鱼,
他那呱唧呱唧
呱唧呱唧
呱唧呱唧的声音,
总缠绕于我的脑海,
久久不肯散去......'''>>> print(str)
我爱鱼C,
正如我爱小甲鱼,
他那呱唧呱唧
呱唧呱唧
呱唧呱唧的声音,
总缠绕于我的脑海,
久久不肯散去......>>> str
'我爱鱼C,\n正如我爱小甲鱼,\n他那呱唧呱唧\n呱唧呱唧\n呱唧呱唧的声音,\n总缠绕于我的脑海,\n久久不肯散去......'
`