美文网首页
python学习日记--变量与常量

python学习日记--变量与常量

作者: SimpleBooker | 来源:发表于2017-10-02 16:27 被阅读0次

    1、变量(variable)

    变量是计算机内存中的一块区域,在python中,内容可以任意改变。变量在内存中创建时会包括变量名、变量标示和变量的值三种信息。

    如以下代码段:

    a=12          # a 自然是变量名;可以用 print( id(a) ) 来查看变量标示;12就是变量值了。

    print(a)

    a=32

    print(a)

            可以看到两次的输出结果分别是12和32,但是在这里要提一下变量和内存的关系。在python中,变量和内存是一种链接关系,在上例中,第一行代码使  a  指向了 12 所存储的内存区域;但是第三行代码中改变了这种指向,使得  a  指向了  32  所存储的区域,所以在后面代码中使用 a 时,其值就是 32.

            出于节约内存的考虑,在更改变量的值(即更改变量的指向)之前,可以使用下面两种办法释放内存:

    (1) a = none

    (2) del  a

            第一种方法不会彻底清除变量定义留下的影响,还会留下一个变量名;第二种方法就比较彻底。但是一般变量占用的内存都不会对程序运行产生太大的影响,毕竟现在内存很便宜,所以也没要随时清理。

    1.1 变量的分类

            变量分为全局变量 和 局部变量

            1.1.1 全局变量

            全局变量是具有广泛共享性的变量。(1) 在同一份文件中,它可以被不同的函数或类使用和改变;(2) 在所处文件之外,它又可以被外部文件访问。可以说,在某份文件中,在函数或类之外定义的变量都是全局变量。全局变量的生命周期总被定义开始到文件结束。

            如:  

            var = 21   #此处var就是全局变量

            def  func():

                    print( var )

                    var = 67

            print( var )

            输出为:

            21

            67

            可以看到,全局变量在经历过一个函数后,数值已经被改变了。

            因此,在使用过程中建议尽量避免使用全局变量,就是由于各个函数和模块都可以改变全局变量,在复杂的程序中,会出现全局变量值的不可预知性。比如函数1使用并改变了全局变量var,但函数2需要使用 var 改变之前的值,就会产生麻烦。

            1.1.2 局部变量

            局部变量是在函数体内或类体内定义的变量,其生命周期从定义开始到函数或类结束。如:

            def  func():

                    local_var = 99

                    print( local_var )

            print( local_var )  #程序在此处会报错。

            其中  local_var 就是局部变量,在函数体外使用时就会产生错误,因为局部变量所在的函数结束时,其生命便完结了。

    2、常量(constant)

            常量也是在内存中开辟出来的一块区域,不过这块区域是只读的,因此常量一旦定义,就不能再修改。单独的数字、字符串等都属于常量。在python里面没有特定的关键字来定义常量,其实在科研工作中,也没必要特别把常量和变量区分开。

    相关文章

      网友评论

          本文标题:python学习日记--变量与常量

          本文链接:https://www.haomeiwen.com/subject/hzktyxtx.html