前言
小甲鱼说,在对前边的小游戏改善前,先了解下,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久久不肯散去......'
`