首页 > 代码库 > python基础之变量
python基础之变量
一、什么是变量
变量是所有编程语言都有的语言特性之一,所以想学习编程就必须了解变量。那么什么是变量呢?从名字上看主要分为变和量两部分,变即改变、变化;量即值、数据,变量在编程语言中就是用来存储数据的抽象概念,它的值是可以改变的。
二、变量的作用
那么变量有什么作用呢?先看如下场景,月底到了你要算算这个月各项开支以及总支出,账本信息如下
|
吃饭 |
买衣服 |
交通 |
娱乐消费 |
6月1日 |
35 |
236 |
10 |
200 |
6月2日 |
30 |
120 |
20 |
147 |
6月3日 |
150 |
|
15 |
223 |
6月4日 |
45 |
|
22 |
187 |
…………….. |
|
|
|
|
Total |
265 |
356 |
186 |
1200 |
各项开支结算如下:
吃饭:35+30+150+45+...=265
买衣服:236+120=356
交通:10+20+15+22+...=186
娱乐消费:200+147+223+187+...=1200
总消费:265+356+186+1200=2007
发现了吗,我们在计算总消费时是将各项开支的计算结果相加得出的结果,但是在用程序去计算的时候我们是无法预先知道各项开支是多少的,怎么办呢。这个时候就该我们的变量出场了,我们只需要把各项开支的计算结果用不同的变量存储起来,在计算总消费的时候调用这些变量得到各项开支的数值在相加就能得到总消费了。从这里可以看出变量的作用就是把数据临时存到内存里,以备后面的代码继续调用。
三、如何定义与使用变量
我们知道的了什么是变量以及变量的作用,那究竟该如何定义变量并且使用变量呢。变量定义有三要素:变量名、赋值符号、变量值。
1、变量名
变量名又称为标识符,定义变量名有如下三条规则:
1)变量名只能使用字母、数字、下划线
2)变量名的第一个字符不能是数字
3)python的关键字不能作为变量名,比如[‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘exec‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘not‘, ‘or‘, ‘pass‘, ‘print‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]
变量名的书写有如下两个规范:
1)多个单词连接的变量名应该按以下两种格式之一书写
1.1 AgeOfOldBoy 每个单词的首字母大写
1.2 age_of_oldboy 每个单词之间用下划线连接,这也是官方推荐书写方式
2)常量的书写
python中没有常量的概念,一般约定俗成的是将变量名全部大写以表示该变量为常量,但是这仅仅是提示作用,比如OLDBOY_AGE=84
2、赋值符号
关于赋值符号将在python基础之运算符中详细说明,这里暂时只需要知道最简单的赋值符号是“=”,比如a=2代表将变量值2赋值给变量a,b=a代表将变量a的值赋值给变量b。
3、变量值
变量值就是我们要存储的数据,它可以是任何形式的数据,数字、字符串、列表、元祖、字典、集合。。。。都可以
我们定义了变量要如何使用变量呢?很简单,只需要使用变量名就可以调用它所存储的变量值,看如下代码:
name=‘alex‘
print(name)
上面的代码我们定义了一个变量name并将字符串alex赋值给它,然后使用变量名将变量值用print函数输出。
四、python垃圾回收
程序员在编程的时候大都需要写代码将不用的变量删除,释放占用的空间,否则随着程序运行内存会被占满然后报内存溢出的错误。幸运的是python程序员不需要管这些,因为python的垃圾回收机制会自动将那些不用的变量删除释放内存空间。那么python是如何知道哪些变量是不用的呢?这其实是通过python中一个叫引用计数的东西完成的,那引用计数又是什么呢,要说明引用计数我们需要先说一说python的赋值具体是怎么一回事。
python中变量值赋值给变量实际上是在内存中开辟一块空间将变量值存储在里面然后建立变量名到变量值所在内存空间的引用关系,就像给一个房间挂上一个门牌一样,让别人知道怎么找到这个房间,同时就会将引用计数加一,这个引用计数反应的就是这个房间有几个门牌号。那么如何让引用计数增加又如何让引用计数减少呢?增加引用计数的方式有定义一个新变量以及将一个变量赋值给另一个变量或者再将这个变量赋值给另外一个变量,比如a=1、b=a、c=b,都会让变量值1所在的内存空间的引用计数增加;减少引用计数的方式有删除变量,给变量重新赋值,当引用计数减少到0时,python就会认为这块内存存储的数据已经没用了,于是就会将内存清空。
python基础之变量