大家好,欢迎来到 Crossin的编程教室 !
1. 什么是变量
所谓「变量」,就是可以变化的量。(这解释真是听君一席话,如听一席话)
这一概念来源于数学,用在编程领域中,是指计算机语言中能储存计算结果或能表示值的抽象概念。
变量可以通过变量名访问。上一次我们聊过 Python 中变量名的命名规则(Python到底能不能用中文变量名?),今天我们再聊聊更多关于变量的事。
2. 为什么要有变量
有个刚学 Python 第一天的同学问:
不懂为啥要用变量,需要什么值直接写就好了,干嘛还多此一举?
如果我们的程序都只是输出“Hello World”或做简单的四则运算,当然可以不用变量。
但实际的程序并不会这么简单。
在代码中,所有我们看到的符号、数字、字母、文字等,统称为数据。计算机程序就是由这些数据按照一定的语法规则组成的。
一个真正的程序里面会有各种数据,这些数据不可能都是固定不变的,会需要进行计算和处理。为了更方便地使用这些数据,我们要给这些数据取名字。简单来说,变量就是数据的名字,用以存取数据,通过不同的变量名区别不同的数据。
比如一个游戏里的角色,它所处的位置、它的等级、它攻击力、防御力、当前的血量等等,这些数据都需要用变量来管理。一个萝卜一个坑,一个数值也要关联到一个变量上,程序才好处理它。
3. 变量的使用
使用变量无非两种情况,一是存放数值,二是提取存放的数值。
在 Python 语言中,变量需要遵循「先创建,后使用」的原则。
Python 中要创建一个变量,就是用等号(=)向一个变量名赋值。如:
a = 1
这就创建了一个值为 1 的变量 a。
然后你就可以使用这个变量。如:
print(a)
或者用它去创建另一个变量。如:
b = a + 2
既然都说了是“变”量,那自然也可以给变量重新赋值。如:
a = 3
这样 a 的值就被修改为了 3。
如果直接使用一个没有赋值过的变量名,会引发一个名称未定义的 NameError 错误,导致程序中断。如:
print(x)
会报错:
NameError: name 'x' is not defined
4. 变量的类型
程序中的数据多种多样,有数字,有文本,还有复杂的复合结构。为了便于管理,需要有相对应的数据类型。
Python 是一门动态类型的语言,与 C、C++ 等静态编程语言不同,在创建变量时不需要指定变量类型。而是根据给它赋值的类型确定,并且是可变的。
比如:
a = 1 print(type(a))
Python 内置的 type 函数可以查看一个变量的类型。这里可以看到输出为 <class 'int'>,即整数类型。
如果在这两句之后再加上:
a = 'a'print(type(a))
程序并不会报错,并输出 <class 'str'>,即变量 a 已被修改为字符串类型。
关于类型的更多内容,我将在之后详聊,今天就不展开了。
5. 新手问题
如果你问我,新手最常遇到的变量问题是什么?结果可能会让你大跌眼镜。
因为就我的经验,很多初学者都会踩到的一个坑是:
拼错变量名!
比如前面赋值了个变量叫 name,结果过了几行,又写成了 mame。于是就得到一个这样的 NameError 报错:
所以,如果你看到报错莫名地说你某个变量 not defined,那就找找看所有用到的地方是不是有拼写错了。
当然咯,这时候就体现出 IDE 的作用了:一个合格的 IDE 会给你拼错的变量名划上波浪线。
对于 Python 的变量,你还要什么想了解的内容?欢迎在留言区讨论。
以下是视频时间,欢迎大家关注、点赞、转发: