变量,英文名叫做variable
,是计算机语言中能储存计算结果或能表示值的抽象概念。
在
《计算机科学概述》
中,变量是这样定义的:“高级程序设计语言
允许使用描述性的名字指向主存储器中的位置,而不必再使用数字地址,这样的名字称为变量(variable)
。之所以是这样取名是因为,随着程序的执行,只要改变存储在这个位置里的值,那么与改名字相联系的值就会改变。”
从形式上看,每个变量拥有独一无二的名字,例如:
a = 1
b = 2
在这里,我们把 “a、b” 看作变量
,把 “1、2” 看作值
。
在 Python 中,我们把变量看做一个容器,不断更改它的值,以便程序需要。
变量名
是 Python 标识符的一种,不能随便起,必须要遵守 Python 标识符的命名规则。
标识符
就是一个名字,它的主要作用就是作为变量
、函数
、类
、模块
以及其他对象
的名称。
就好像我们人一样,需要起个名字,便于称呼、指代。
变量命名规则:
注:
- 以下划线开头的标识符有特殊含义,除非特定场景需要,应避免使用以下划线开头的标识符。
- 标识符可以是汉字。但我们应尽量避免使用汉字作为标识符,这会避免遇到很多没必要的错误
当变量名包含多个单词时,采取一下两种方式进行命名:
_
分开。Python 变量的赋值指的是将数据放入变量的过程。
与 C 语言不同,Python 变量无须声明数据类型就可以直接赋值,对一个不存在的变量赋值就相当于定义了一个新变量,换句话说 Pyhton 创建变量就必须赋值。
Python 变量的数据类型可以随时改变,比如,同一个变量可以一会儿被赋值为字符串,一会儿被赋值为整数。
例如:
# 为了代码的可读性,我们通常在“=”号前后加上一个空格
a = 1
print(type(a))
a = 'Python'
print(type(a))
使用
type()
语句来判断变量的类型
这里,我们第一次使用=
是创建这个变量 a
,而第二次使用=
则是修改了变量 a
的值。
程序运行后,输出如下结果:
可以看到,变量a
的值从最初创建是的 int
(整数)变为了修改后的 str
(字符串)。int、str是 Python 的基本数据类型,关于这个,可见我的另一篇文章——
Python 基本数据类型。
由此可见,Python 中的变量类型是不固定的,可以随意修改。
这种方式写腻了?别急!这儿还有几招!
第一种,同时给多个变量赋相同的值:
a = b = c = 10
print(a)
print(b)
print(c)
运行结果:
10
10
10
第二种,同时给多个变量赋不同的值:
a, b, c = 10, 20, 30
print(a)
print(b)
print(c)
运行结果:
10
20
30
实例如下:
a = 1
b = 2
a, b = b, a # 交换a、b的值
print(a)
print(b)
运行结果:
2
1
文章的最后,讲点深奥的东西。
在 Python 中,变量的内存地址标识码可以用id()
命令来查看。
a = 10
print(id(a))
a = 20
print(id(a))
点击运行按钮,会输出两个不同的数字:
2418912657936
2418912658256
这就是变量a
的内存地址,可以发现更改后有所变化。
奇妙的是,再次点击运行按钮,输出结果却变了:
1919313642000
1919313642320
显然,再次运行,内存地址又变了!