前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Python变量基础

Python变量基础

作者头像
Crossin先生
发布2023-08-29 15:14:59
发布2023-08-29 15:14:59
13800
代码可运行
举报
运行总次数:0
代码可运行

大家好,欢迎来到 Crossin的编程教室 !

1. 什么是变量

所谓「变量」,就是可以变化的量。(这解释真是听君一席话,如听一席话)

这一概念来源于数学,用在编程领域中,是指计算机语言中能储存计算结果或能表示值的抽象概念。

变量可以通过变量名访问。上一次我们聊过 Python 中变量名的命名规则(Python到底能不能用中文变量名?),今天我们再聊聊更多关于变量的事。

2. 为什么要有变量

有个刚学 Python 第一天的同学问:

不懂为啥要用变量,需要什么值直接写就好了,干嘛还多此一举?

如果我们的程序都只是输出“Hello World”或做简单的四则运算,当然可以不用变量。

但实际的程序并不会这么简单。

在代码中,所有我们看到的符号、数字、字母、文字等,统称为数据。计算机程序就是由这些数据按照一定的语法规则组成的。

一个真正的程序里面会有各种数据,这些数据不可能都是固定不变的,会需要进行计算和处理。为了更方便地使用这些数据,我们要给这些数据取名字。简单来说,变量就是数据的名字,用以存取数据,通过不同的变量名区别不同的数据。

比如一个游戏里的角色,它所处的位置、它的等级、它攻击力、防御力、当前的血量等等,这些数据都需要用变量来管理。一个萝卜一个坑,一个数值也要关联到一个变量上,程序才好处理它。

3. 变量的使用

使用变量无非两种情况,一是存放数值,二是提取存放的数值。

在 Python 语言中,变量需要遵循「先创建,后使用」的原则。

Python 中要创建一个变量,就是用等号(=)向一个变量名赋值。如:

代码语言:javascript
代码运行次数:0
复制
a = 1

这就创建了一个值为 1 的变量 a。

然后你就可以使用这个变量。如:

代码语言:javascript
代码运行次数:0
复制
print(a)

或者用它去创建另一个变量。如:

代码语言:javascript
代码运行次数:0
复制
b = a + 2

既然都说了是“变”量,那自然也可以给变量重新赋值。如:

代码语言:javascript
代码运行次数:0
复制
a = 3

这样 a 的值就被修改为了 3。

如果直接使用一个没有赋值过的变量名,会引发一个名称未定义的 NameError 错误,导致程序中断。如:

代码语言:javascript
代码运行次数:0
复制
print(x)

会报错:

代码语言:javascript
代码运行次数:0
复制
NameError: name 'x' is not defined

4. 变量的类型

程序中的数据多种多样,有数字,有文本,还有复杂的复合结构。为了便于管理,需要有相对应的数据类型。

Python 是一门动态类型的语言,与 C、C++ 等静态编程语言不同,在创建变量时不需要指定变量类型。而是根据给它赋值的类型确定,并且是可变的。

比如:

代码语言:javascript
代码运行次数:0
复制
a = 1
print(type(a))

Python 内置的 type 函数可以查看一个变量的类型。这里可以看到输出为 <class 'int'>,即整数类型。

如果在这两句之后再加上:

代码语言:javascript
代码运行次数:0
复制
a = 'a'
print(type(a))

程序并不会报错,并输出 <class 'str'>,即变量 a 已被修改为字符串类型。

关于类型的更多内容,我将在之后详聊,今天就不展开了。

5. 新手问题

如果你问我,新手最常遇到的变量问题是什么?结果可能会让你大跌眼镜。

因为就我的经验,很多初学者都会踩到的一个坑是:

拼错变量名!

比如前面赋值了个变量叫 name,结果过了几行,又写成了 mame。于是就得到一个这样的 NameError 报错:

所以,如果你看到报错莫名地说你某个变量 not defined,那就找找看所有用到的地方是不是有拼写错了。

当然咯,这时候就体现出 IDE 的作用了:一个合格的 IDE 会给你拼错的变量名划上波浪线。

对于 Python 的变量,你还要什么想了解的内容?欢迎在留言区讨论。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Crossin的编程教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档