各位小伙伴,大家好,现在要正式开始第二关内容的学习啦,在正式开始学习之前,我们先来回顾下上一关的内容吧!

上一关的最后,我们通过 print()函数实现了和盘古打招呼,本关我们将通过 Python 的力量去感受女娲补天的奇迹。

我们先来看下方语句:

name = '女娲'
print(name)
1
2

我们看到屏幕上显示的打印效果是:女娲。

大家可能会有疑问,想实现打印出女娲,直接用 print('女娲') 不就可以实现么?

宋老师这里也非常欣慰哦,小伙伴们对第一章内容的掌握程度真的是非常好呢!要继续加油哦!!

但是我们在实际 Python 的使用中,经常会遇到大量重复的语句,如果使用 print() 函数重复输出的话,如果信息出现了低级的错误,或者是信息需要更新,需要进行信息的更改,都需要修改很多遍,当代码数量非常多的时候,容易出现忘记修改信息等问题,这个时候就需要巧妙的利用变量来解决这个问题。

我们看下方语句:

print('女娲补天之后,天地定位,洪水归道,烈火熄灭,四海宁静。')
print('女娲补天之后,天地定位,洪水归道,烈火熄灭,四海宁静。')
print('女娲补天之后,天地定位,洪水归道,烈火熄灭,四海宁静。')
print('女娲补天之后,天地定位,洪水归道,烈火熄灭,四海宁静。')
print('女娲补天之后,天地定位,洪水归道,烈火熄灭,四海宁静。')
1
2
3
4
5

点击运行之后,我们看到显示五段同样的话,“女娲补天之后,天地定位,洪水归道,烈火熄灭,四海宁静。”

这个时候,我们想修改语句,删除掉'洪水归道' 四个字,大家可以在编译器中,完成 5 段文字'洪水归道'的删除。

print('女娲补天之后,天地定位,,烈火熄灭,四海宁静。')
print('女娲补天之后,天地定位,,烈火熄灭,四海宁静。')
print('女娲补天之后,天地定位,,烈火熄灭,四海宁静。')
print('女娲补天之后,天地定位,,烈火熄灭,四海宁静。')
print('女娲补天之后,天地定位,,烈火熄灭,四海宁静。')
1
2
3
4
5

是不是觉得在做重复性的工作呢,而且一个不小心,就有一条语句忘记删除了,这个时候我们可以使用变量来解决这个问题,我们一起来运行下方语句:

life ='女娲补天之后,天地定位,洪水归道,烈火熄灭,四海宁静。'
print(life)
print(life)
print(life)
print(life)
print(life)
1
2
3
4
5
6

如果我们想删除洪水归道,只需要在变量 life 中删除掉洪水归道即可。

life ='女娲补天之后,天地定位,,烈火熄灭,四海宁静。'
print(life)
print(life)
print(life)
print(life)
print(life)
1
2
3
4
5
6

是不是方便了很多呢,上述语句中的 namelife 都是变量,下面我们就一起来认识下变量吧:

# 1 什么是变量

在程序设计语言中,变量是存储单元的标示牌,在这块存储单元中,可以存储任何值,我们可以通过变量名来访问存储的值。

image.png

在上图中,age 是内存地址 0X107A5D960 的标示牌,我们可以通过 age 来访问变量的值 18。

在内存中存储值和我们在日常生活用收纳箱来收纳东西是类似的。在下图中,总共有 5 个抽屉,为 5 个抽屉从上到下分别编号 1、2、3、4、5,编号也相当于是抽屉的地址(和内存地址类似), 五个抽屉从上到下分别存储了湿巾、毛巾、配饰、玩具、衣服(物品相当于在内存中存储的值),为了以后取东西快捷,我们会为五个抽屉分别写上存储物品的名字(相当于变量名)。这样以后我们在取东西的时候便可以很快的定位到某个抽屉,进而取出东西。

image.png

我们来用 Python 语句表示上述内容:抽屉的英文是drawer,我们将第一层抽屉用 drawer1 表示,第二层抽屉用drawer2 表示……第五层抽屉用 drawer5 表示,再将所放置的物品和抽屉进行一一对应:

drawer1 = '湿巾'
drawer2 = '毛巾'
drawer3 = '配饰'
drawer4 = '玩具'
drawer5 = '衣服'
print(drawer1)
print(drawer2)
print(drawer3)
print(drawer4)
print(drawer5)
1
2
3
4
5
6
7
8
9
10

这些语句中的 drawer1、drawer2、drawer3、drawer4、drawer5 就是变量名称。

上述语句也就是创建五个抽屉变量的过程。

接下来我们详细介绍下 Python 变量的创建。

# 2 变量的创建

与其他编程语言不同的是,Python 没有声明变量的命令,首次为其赋值时,才会创建变量。赋值的语法:

image.png

# 2.1 单变量的赋值

#变量name,表示名字,名字是女娲
name = '女娲'  
#变量age,表示年龄,年龄是18
age = 18   
#打印变量name
print(name)
#打印变量age
print(age)
1
2
3
4
5
6
7
8

这个语句中,我们可以看到 name 代表的是名字,age 代表的年龄,变量的名称是和后面要表达的信息内容相匹配的。

我们来运行下方语句:

name = '女娲'
name = '女娲后人'
print(name)
1
2
3

我们看到,打印 name 的结果是女娲后人,并不是女娲了,也就是同一个变量名称,我们对其进行多次赋值的时候,变量会取最后一次的赋值内容。

实践小练习:大家来通过变量打印出自己的名字、年龄和身高吧。

在 Python 的实际应用中,除了简单的单变量赋值外,还会涉及多变量赋值,下面我们就一起来介绍下多变量的赋值。

# 2.2 多变量的赋值

在 Python 的应用中,很多情况下,我们需要将同一个值赋给多个变量,下面我们一起来看下一个值是如何赋给多个变量的。在中国民间神话中,女娲在造人之前,于正月初一创造出鸡,初二创造狗,初三创造猪,初四创造羊,初五创造牛,初六创造马,初七这一天,女娲用黄土和水,仿照自己的样子造出了一个个小泥人,她造了一批又一批,觉得太慢,于是用一根藤条,沾满泥浆,挥舞起来,一点一点的泥浆洒在地上,都变成了人。人物 x、人物 y、人物 z 都是女娲造出的泥人,我们将 x、y、z 赋值为泥人,运行下方语句:

# 2.2.1 一个值赋给多个变量

x = y = z = '泥人'

print(x)
print(y)
print(z)
1
2
3
4
5

我们看到一个值赋给多个变量的时候,可以用赋值符 = 将多个变量连接,如上方语句 x = y = z,再根据单个变量的赋值方法,将泥人赋值于x、y、z,再通过 print() 函数打印出来。

除了一个值赋给多个变量,Python 中还经常会出现,多个值赋给多个变量的情况,下面我们一起来看这种情况是如何赋值的:

# 2.2.2 多个值赋给多个变量

我们运行下方语句:

name,age,weight = '女娲',18,49.99

print(name)
print(age)
print(weight)
1
2
3
4
5

我们看到屏幕输出女娲、18、49.99,我们将女娲赋给变量 name,18 赋给变量 age,49.99 赋给变量weight,根据我们之前所说的内容,变量的命名要能代表值所表达的内容,因此我们知道本条语句的含义是,名字是女娲,年龄是 18,体重是 49.99。

在编程语言中,我们追求代码的规范,而规范代码的表现之一就是变量名简洁有意义,能够让看到该段代码的人理解代码所表示的含义,那么在变量的命名上体现代码规范的一点就是要选择能够代表赋值内容的变量名,一般是赋值内容对应的英文单词,变量的命名除了这一条规则之外,还有一些其他的要求,我们一起来看下:

# 3 变量的命名规则

image.png

  • 变量名只能包含数字、字母和下划线,也就是只能包含 0-9 、a-z、A-Z 和  _,其余字符都是非法字符。
  • 变量名的开头必须以字母或下划线字符开头,不能以数字开头。
  • 变量名称区分大小写(name、Name 和 NAME 是三个不同的变量)。
  • 如果一个变量名包含多个单词,使用下划线进行分隔,例如:my_name、her_mother 等。
  • 为变量起一个有意义的名字,例如:name 优于 n,这一点就是前面我们强调的代码规范性了,用 n 表示名字,从变量的语法命名规则上来看是没问题的,但是却不符合我们的代码规范,宋老师再次提醒大家,养成一个良好的代码习惯,对于我们进阶成为 Python 大神是很有帮助的哦。

除此之外,Python 中还有一组关键字,这些关键字是保留字,不能用作变量名、函数名或任何其他标识符。关键字列表如下:

image.png

# 4 小结

变量的内容我们介绍完成了,我们一起来总结下本部分内容:

image.png

下面,我们来通过一组题目测试下知识点的掌握程度吧!

# 5 练习题

1.下列哪个变量名是合法的?

A.na&me

B.2type

C.m@y

D.my_name

2.下列关于变量的命名符合代码规范的是?

A.a = 20

B.weight = 100

C.n = '宋老师'

D.xy = '你最棒'

3.练习:

创建一个名为 story 的变量,并将 女娲造人的故事 赋给它,最终打印 story 变量。

更新于: 12/30/2021, 2:46:39 AM