变量可以指在电脑存储器里存在值的被命名的存储空间。[1]
变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念。[2]
与变量相关的有变量命名、变量赋值、变量类型。
一、变量命名
在Python中使用变量时,需要遵守一些规则。
1.变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。
2.变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。
3.不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print(Python关键字见文末)。
4.变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。
5.慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。
要创建良好的变量名,需要经过一定的实践,在程序复杂而有趣时尤其如此。随着你编写的程序越来越多,并开始阅读别人编写的代码,将越来越善于创建有意义的变量名。[3]
二、变量赋值
在python中使用变量不用像某些其他语言一样(例如C语言),需要先声明变量类型,再使用变量。
在python中一旦为变量赋值,变量的类型既确定了。
>>> str = "Python" #将一个等号(=)作为赋值符号,等号后面的内容为存入变量中的值。
>>> type(str) #这里使用type函数获取变量的类型。
<class 'str'> #这是给出的结果,变量的类型为str(即string),代表该变量的类型为字符串。
还记得我们最开始对变量的定义吗?变量可以指在电脑存储器里存在值的被命名的存储空间。
当为变量赋值后,计算机将在内存中分配一个地址来存储变量的值。
>>> student1_age = 18
>>> id(student1_age) #这里使用id函数来获取这个变量在内存中的地址
140720729495744
>>> student2_age = 18
>>> id(student2_age)
140720729495744
>>> price1 = 256
>>> id(price1)
140720729503360
>>> price2 = 256
>>> id(price2)
140720729503360
>>> price3 = 257
>>> id(price3)
2693632723792
>>> price4 = 257
>>> id(price4)
2693632723824
内存地址由一长串数字组成,140720729495744为student1_age在内存中的地址。
以下内容对于初学者只做了解:在上面的代码中,我们可以发现一个有意思的现象。student1_age和student2_age的内存地址相同,意思为虽然他们的变量名虽不同,但是由于他们的值是一样,他们共用了同一个内存,所以在Python中,变量名更像是标签,而不是容器。这是因为Python的内存管理机制决定的,不同的数值范围(仅在-5~256之间的整数共用)、不同的数据类型,Python对变量的内存管理机制都有不同。
三、变量类型
1.数字类型
Python中的数字类型包含整型、浮点型和复数类型。
256 整型 int
1.23 浮点型 float
1+2j 复数 complex
2.字符串类型 string
Python中的字符串被定义为一个字符集合,它被引号包括。
str1 = 'I Love Python!'
str2 = "Hello World!"
str3 = '''hello world,
hello world,
hello world'''
3.布尔类型 bool
布尔类型是特殊的整形,它的值只有两个,分别是True和False。
4.列表类型 list
列表是可以存放多个数据的集合,其中的值成为元素,列表中的元素使用[]中括号包含,列表元素的个数和值是可以修改的。
>>> city_name =['北京','上海','广州','深圳']
>>> type(city_name)
<class 'list'>
5.元组 tuple
元组也是可以存放多个数据的集合,列表中的元素使用()小括号包含,其中的元素是不可修改的。
>>> season =('春','夏','秋','冬')
>>> type(season)
<class 'tuple'>
6.字典类型 dict
字典是Python中的映射数据类型,由键-值对组成。字典可以存储不同类型的元素,元素使用大括号{}来包含。通常情况下,字典的键会以字符串或者数值的形式来表示,而值可以是任意类型。
>>> dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
>>> type(dict)
<class 'dict'>
附:Python中的关键字
['False', 'None', 'True', 'and', 'as',
'assert', 'break', 'class', 'continue', 'def',
'del', 'elif', 'else', 'except', 'finally',
'for', 'from', 'global', 'if', 'import',
'in', 'is', 'lambda', 'nonlocal', 'not',
'or', 'pass', 'raise', 'return', 'try',
'while', 'with', 'yield']
[1]维基百科http://wanweibaike.com/wiki-%E5%8F%98%E9%87%8F
[2]百度百科https://baike.baidu.com/item/%E5%8F%98%E9%87%8F/3956968?fr=aladdin
[3]Eric Matthes[美].Python编程从入门到实践.人民邮电出版社.