python 常量、局部变量、全局变量的使用

系统 1610 0

2.1 变量与常量

2.1.1 变量

变量:可以改变的量。

  1. python中创建变量无需声明,赋的值什么类型,该变量就是什么类型;
  2. python中变量先赋值才能使用,赋值后python里面只会在内存创建一个值,该变量指向内存的这个值;

 

变量名命名规则:

  1. 数字、字母、下划线的任意组合( 前提是:数字不能放在名字开头 );
  2. 变量名不能是关键字(如int、char、str);
  3. 取名推荐使用驼峰体(myBookCount),且容易明白含义;

 

如图2-1所示,在python中,如果count、value变量都赋值50,那么这两个变量同时指向50,就意味着50被引用了两次,引用计数为2,使用del 可删除变量,每删除一个引用50 的变量,引用计数减1,引用计数为 0 ,会被python的垃圾回收机制定期自动回收释放空间。

count、value变量同时指向50,但两者相互独立。若对其任意一个变量重新赋值,都不影响另一个变量的值,例如count 重新赋值为52 ,则count会指向52,而value 依旧指向50。

 

***python程序中,对变量的赋值是改变该变量指向的空间,而C程序中,对变量的赋值是改变该变量指向空间的值。

 

                                                  python 常量、局部变量、全局变量的使用_第1张图片

                                                                                        图2-1

 

2.1.2 局部变量和全局变量

局部变量:在某个函数中第一次被创建并被赋值,只在该函数中有效,在该函数外使用则报错。

全局变量:在函数外创建并赋值,有效范围是在整个.py文件中从被创建开始到程序结束均有效,但函数内无法使用。

***(1) 若想在函数内部使用全局变量,使用关键字global 声明;

***(2) 若函数fun()中嵌套函数fun2(),fun2()要是用fun()中的局部变量temp,那么需要在fun2()中使用关键字nonlocal 指定上一级变量(python3中才有),如下程序:

            
              # -*- coding: utf-8 -*-
count  = 0  #全局变量,到程序执行结束都有效
value = 0    #全局变量,到程序执行结束都有效

def fun():
    temp = 99          #局部变量
    global value         #函数内修改全局变量的值
    value += 1
    def fun2():
        nonlocal temp   #指定上一级变量在该函数中使用
        temp += 1
            
          

 

2.1.3 常量

常量:不可以改变的量。

常量名命名规则:

  1. python 中,对常量并没有明确的定义方式;
  2. 通常默认用全大写字母表示常量(人为表示方式),实际还是变量;

更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论