1.初识变量

编程本质就是通过一定的规则,去操纵数据,变量作为数据的载体,在程序中经常会被用到。与变量相联系的还有一个名词叫数据类型,我们可以举一个生活中的例子,来理解数据类型-变量-数据三者之间的关系
【python基础】变量-LMLPHP
红色的1号杯子中装满了水,其中红色就代表数据类型,1号杯子就代表变量,而水就代表数据。蓝色的2号杯子装满了油,蓝色就代表数据类型,2号杯子还是代表变量,油代表数据。通过例子发现,变量类似于数据的容器,数据类型类似于变量的特征。
在python中如何表示上面的关系呢?python规定变量不需要声明数据类型,但是每个变量在使用前都必须赋值,根据变量所赋的值自动确定数据类型,变量赋值以后,该变量才会被创建。
我们在PyCharm的编辑区编写如下代码,来加强上面这句话的理解
【python基础】变量-LMLPHP
这里的'water'是我们后期所介绍的字符串类型,92是我们后期所介绍的数字类型。

为了更好的理解,这里我们做个假设,假设python需要声明数据类型的话,这里的代码就要变成

字符串类型 cup1 = 'water'

数字类型 cup2 = 92

上面的这两行代码,我们可以解读为,我们声明了两个变量:

一个字符串类型的变量,变量名为cup1,变量cup1中装载着数据内容'water';

一个数字类型的变量,变量名为cup2,变量cup1中装载着数据内容92;


理解了上面的解读之后,我们抛开假设之后,用现在python的规定,**变量不需要声明数据类型,但是每个变量在使用前都必须赋值,根据变量所赋的值自动确定数据类型,变量赋值以后,该变量才会被创建。**
cup1 = 'water'
cup2 = 92
上面的这两行代码,我们可以将其运行过程解读为,我们声明了两个变量:
其中一个将'water'这个数据内容装载到了一个变量名为cup1的变量中,因为'water'这个数据内容为字符串类型,所以python自动将cup1的数据类型确定为了字符串类型。
其中一个将92这个数据内容装载到了一个变量名为cup2的变量中,因为92这个数据内容为数字类型,所以python自动将cup2的数据类型确定为了数字类型。
但是,经过程序运行,**结果上我们还是认为,我们声明了两个变量:**
一个字符串类型的变量,变量名为cup1,变量cup1中装载着数据内容'water';
一个数字类型的变量,变量名为cup2,变量cup1中装载着数据内容92;

2.更新变量

在介绍更新变量之前,我们之前学习过print函数的语法格式:print('想要输出的内容')或者print("想要输出的内容")
在我们初步学习了变量之后,我们可以再学习print函数的另一种语法格式:print(变量名),这种语法格式下,输出的是该变量所装载的内容
在清楚了上面的内容之后,我们将程序代码修改成如下所示
【python基础】变量-LMLPHP
在上面的基础上,我们再进行代码的添加,看运行结果,如下所示
【python基础】变量-LMLPHP
通过运行结果我们可以发现,第一次输出变量string是'hello world1',第二次输出变量string是'hello world2'。两次输出结果的不同,我们可以推导出此处发生了变量所装载的数据内容的更新。更新过程就是将string所装载数据内容'hello world1'变为了'hello world2',其动态更新如下所示:
【python基础】变量-LMLPHP
那么是否能够发生数据类型的更新呢,我们再编写如下程序
【python基础】变量-LMLPHP
通过运行结果我们可以发现,第一次输出的data是字符串类型的'hello world',第二次输出的data是数字类型的92,通过运行结果我们可以推出,变量的更新是可以发生在数据类型上的。其更新过程动态演示如下所示
【python基础】变量-LMLPHP
经过上面的分析,我们可以发现,在程序中可随时修改变量的值,而python将始终记录变量的最新值。

3.命名变量

在python中使用变量,给变量命名时,需要遵守一些规则,违反这些规则将引发错误,所以请务必牢记下面有关变量的规则。
①变量名只能包含字母、数字和下划线。
②变量名可以字母或下划线开头,但不能以数字开头。合法命名string_1,但不能将其命名为1_string
③变量名不能包含空格,但可以使用下划线来分隔其中的单词。合法命名first_string,但变量名first string不可以
④变量名不能是python的关键字和函数名,如print
⑤慎用小写字母i和大写字母O,因为他们可能被人误以为数字1和0
⑥字母大小写问题,目前应使用小写字母来命名python,大写一般用于常量,虽然混用不会导致错误,但是为了让人更好的看懂咱们的代码,或者咱们更好的看懂其他人的代码,最好遵守一些“君子协议”

05-27 07:25