python变量作用域包含全局作用域和局部作用_Python之局部、全局作用域

在学习任何一门语言时,经常会提到xx变量是局部变量或者xx变量属于全局变量,那么到底如何区分什么是局部变量什么全局变量呢?

界限:

1、所有在函数体内赋值的变量和变元,处于该函数的“局部作用域”,在所有函数之外复制的变量,属于“全局作用域”

2、处于局部作用域范围内的变量,称作局部变量,处于全局作用域范围内的变量,称作全局变量

3、一个变量要么是全局变量,要么是局部变量,不会同时兼顾两者

4、将“作用域”看做变量的容器,当作用域被销毁时,变量的值也被丢弃了,例如一个函数调用结束后,函数体内的变量也随之结束。每一次函数的调用是在创建一次新的作用域

5、全局作用域是在程序开始创建时就开始的,如果程序被终止,则全局作用域也被销毁,所以在全局作用域内,命令全局变量时,可以被不同的函数使用,但是函数内的变量,只能在该函数内使用

Note:

1、全局作用域中的代码不能使用任何局部变量

2、局部作用域可以访问全局变量

3、一个函数的局部作用域中的代码,不能使用使用其他局部作用域中的变量

4、在不同的作用域中,可以有相同名字的的变量,例如有一个名为name的全局变量,也有一个名为name的局部变量,但是不建议这样命名,尽量少的使用全局变量,因为函数与其他程序的交互,通过的是其参数和返回值,如果过度依赖于全局变量,不利于调试以及后期代码阅读

5、如果使用了global 则对应的变量是全局变量

总结:

1、变量在全局作用域中使用,及所有函数之外,那么这个变量就是全局变量

2、在一个函数中,使用global进行变量的定义,那么这个变量就是全局变量

3、在变量处于函数体内,且被赋值,那么这个变量就是局部变量

4、变量在一个函数体内,但是没有被赋值,那么这个变量就是全局变量

如果在局部变量赋值前使用的话会出现如问题:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值