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

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程序中,对变量的赋值是改变该变量指向空间的值。

 

                                                 

                                                                                        图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. 通常默认用全大写字母表示常量(人为表示方式),实际还是变量;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值