变量作用域
一般在函数体外定义的变量成为全局变量,在函数内部定义的变量称为局部变量。
全局变量所有作用域都可用,局部变量只能在本函数可用,变量的使用顺序是,局部变量 > 全局变量, 也就是说:优先使用局部变量
那么问题来了, 如果想在函数内使用全局变量,或改变全局变量的值, 应该怎么做呢?
global关键字
为了解决函数内使用全局变量的问题,python增加了global关键字, 利用它的特性, 可以指定变量的作用域。
global关键字的作用:声明变量var是全局的
代码实例
实例1:
函数优先使用局部变量str = 'global'
def func1():
str = 'local'
print(str)
func1()
print(str)
结果:local
global
实例2:
在没有局部变量的情况下, 使用全局变量str = 'global'
def func1():
print(str)
func1()
print(str)
结果:global
global
实例3:
改变全局变量的值, 通过实例1可以看到, 函数内赋值并不能改变全局变量的值,所以需要global关键字str = 'global'
def func1():
global str
str = 'local'
print(str)
func1()
print(str)
结果:local
local
其他用法
你可以使用同一个global语句指定多个全局变量。
例如global var1, var2, var3
特殊类型
字符串、数字类型是不能被在局部被修改的,除非使用global关键字,但是 列表,字典是可修改,但不能重新赋值,如果需要重新赋值,需要在函数内部使用global定义全局变量
代码实例1:list = ['global', 'pythontab.com']
def func1():
list.append('bbs.pythontab.com')
print(list)
func1()
print(list)
结果:
W WW.002pc .COM从python 模块命名规则Python 关键字global全局变量详解分析来看,对python 模块命名规则Python 关键字global全局变量详解的结果。['global', 'pythontab.com', 'bbs.pythontab.com']
['global', 'pythontab.com', 'bbs.pythontab.com']
发现上面的list并没有使用global但是值却改变了, 说明列表是可以在局部被修改的
代码实例2:list = ['global', 'pythontab.com']
def func1():
list = ['docs.pythontab.com']
print(list)
func1()
print(list)
结果:['docs.pythontab.com']
['global', 'pythontab.com']
局部变量赋值不能改变全局变量的值
代码实例3:list = ['global', 'pythontab.com']
def func1():
global list
list = 'docs.pythontab.com'
print(list)
func1()
print(list)
结果:docs.pythontab.com
docs.pythontab.com
使用了global关键字后, 变量被重新赋值
更多:python 模块命名规则Python 关键字global全局变量详解
https://www.002pc.comhttps://www.002pc.com/python/5960.html
你可能感兴趣的Python,global,全局变量,详解,关键字
html怎么插入php插件PHP全局变量与超级全局变量区别分析
本文分析了PHP全局变量与超级全局变量区别。分享给大家供大家参考,具体如下:
全局变量就是在函数外面定义的变量。不能在函数中直接使用。因为它的作用域不会到函数内部。所以
echarts wordcloud.jsvue2 全局变量的设置方法
最近在学习VUE.js 中间涉及到JS全局变量,与其说是VUE的全局变量,不如说是模块化JS开发的全局变量。
1、全局变量专用模块
就是以一个特定模块来组织管理这些全局量,需要引用的
suse安装php环境PHP Global定义全局变量使用说明
很不习惯PHP中的变量作用域,PHP中函数变量和全局是完全隔绝的,也就是无法相互访问。比如下面这样:复制代码 代码如下:$test = 123; abc(); //这里什么都不输出,因为访问不到$te
嵌入式linux怎么出现的nginx内置变量详解
nginx的配置文件中可以使用的内置变量以美元符$开始,也有人叫全局变量。其中,部分预定义的变量的值是可以改变的。$arg_PARAMETER 这个变量值为:GET请求中变量名PARAMETER参数
在linux下配置环境变量linux 条件变量详解
条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括
ASP 实例 pdfASP不能打开注册表关键字错误 '80004005'的解决方法
Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字
php curl 内存解析在PHP中使用全局变量的几种方法
简介即使开发一个新的大型PHP程序,你也不可避免的要使用到全局数据,因为有些数据是需要用到你的代码的不同部分的。一些常见的全局数据有:程序设定类、数据库连接类、用户资料
js瀑布流效果特效代码深入浅析ES6 Class 中的 super 关键字
以下只是个人的学习笔记:
super这个关键字,既可以当作函数使用,也可以当作对象使用。在这两种情况下,它的用法完全不同。
asp.net全局异常C++ 中引用与指针的区别实例详解
C++ 中引用与指针的区别实例详解
引用是从C++才引入的,在C中不存在。为了搞清楚引用的概念,得先搞明白变量的定义及引用与变量的区别,变量的要素一共有两个:名称与空间。
搜索互联网上小说阅览器苹果公司世界地图追加建筑物关键字不有意思 高德世界地图还是彩色的
飞象网讯(曹德龄/文)昨天,苹果公司世界地图iOS展开了一次更新,其中追加40个我国旅游景点建筑物关键字,然而这一改版实质上非常有意思,甚至国外的高德世界地图回应具有更优的处置,苹
0踩
赏
0 赞