python中变量的引用、可变和不可变类型、局部变量和全局变量变量的引用
变量和数据都是保存在内存中的
变量和数据是分开存储的
数据保存在内存中某个位置,通过地址来标记
变量保存的是数据的地址,通过地址可以找到数据在内存空间的位置
把变量保存数据地址的过程称为引用
变量的重新赋值修改的是变量中引用数据的内存地址
变量之间的赋值实际是引用的传递
函数参数的传递,本质也是引用的传递
【python函数全局 python 全局】 函数的返回值本身也是引用的传递
可变和不可变类型
不可变类型 , 内存中的数据不允许被修改:数字类型(int,bool,float,complex,long(2,x)、字符串、元组(tuple)
可变类型,内存中的数据可以被修改:列表list、字典dict
无论是可变还是不可变数据类型,通过赋值语句,都会改变变量的引用
Hash函数只能接收不可变数据类型,字典的键也只能是不可变数据类型,字典的value值可以是任意数据类型
局部变量
1.在函数内部定义的变量就是局部变量(作用范围只能是当前函数内部)
2.在函数外部无法直接访问局部变量
3.不同的函数中可以定义同名的局部变量
4.局部变量的生命周期:从定义变量时开始,到函数运行结束
全局变量
1.在所有函数外边定义的变量就是全局变量
2.让所有函数都能访问到,可以作为函数通信的桥梁
3.一般情况下,为了和普通变量的区别,需要加上g_或gl_前缀
4.全局变量一般放在所有函数的最上面
5.在函数内部修改全局变量,必须要加上global关键字,如果不加global只是定义了一个同名的局部变量
函数的多个返回值
python函数中局部变量与全局变量遵守规则(1)简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用 , 函数退出后变量被释放,如有全局同名变量,其值不变 。
(2)简单数据类型变量在用global保留字声明后,作为全局变量使用 , 函数退出后该变量保留且值被函数改变 。
(3)对于组合数据类型的全局变量,如果在函数内部没有被真实创建的同名变量,则函数内部可以直接使用并修改全局变量的值 。
(4)如果函数内部真实创建了组合数据类型变量,无论是否有同名全局变量,函数仅对局部变量进行操作,函数退出后局部变量被释放,全局变量值不变 。
*《python语言程序设计基础》.高等教育出版社
Python中的全局变量 在Python可以在函数中直接使用定义的全局变量,但是 如果需要修改这个全局变量 , 那么就要在函数前面global a 表明在函数中的 a 是全局变量 a 而不是重新定义的局部变量 a。
在python中使用内置函数什么和什么可以查看并输出局部变量和全局变量列表?要在 Python 中查看和打印局部变量和全局变量的列表,可以使用 和 内置函数 。这些函数返回一个字典,分别包含当前作用域中所有局部变量和全局变量的名称和值 。然后 , 您可以使用字典的方法循环访问键值对并将其打印到输出中 。locals()globals()items()
下面是如何使用 and 函数在 Python 中打印局部变量和全局变量的示例:locals()globals()
此代码定义函数中的全局变量和局部变量 。然后,它使用 and 函数分别打印局部变量和全局变量的列表 。运行此代码时,它将输出以下内容:global_varlocal_varlocals()globals()
如您所见,该函数返回一个包含局部变量的字典,而该函数返回一个包含全局变量 、 和 的字典 。您可以使用此方法在 Python 中查看和打印任何范围内的局部变量和全局变量列表 。locals()local_varglobals()__name__global_varprint_vars
回答不易望请采纳
python局部变量与全局变量(1)局部变量 是在 函数内部定义的变量,只能在函数内部使用
(2)函数执行结束后,函数内部的局部变量,会被系统回收
(3)不同的函数 , 可以定义相同的名字的局部变量,不会互相影响
示例:
结果:
所谓生命周期就是变量从被创建到被系统回收的过程
(1)局部变量在函数执行时才会被创建
(2)函数执行结束后,局部变量被系统回收
(3)局部变量在生命周期内 , 可以用来存储函数内部临时使用到的数据
示例:
结果:
示例:
结果:
示例:
结果:
(1)为了避免局部变量和全局变量出现混淆,在定义全局变量时,有些公司会有一些开发要求,例如:全局变量名前加上gl_或者g_的前缀,但不同公司可能不一致;
(2)建议全局变量的命名与局部变量的规则区分开;
Python问题 在函数内使用全局变量的时什么时候需要加global,什么时候不用?global是用于声明全局变量 。
当你的函数中变量有赋值语句 , 而这个变量名又刚好同全局变量一样,这时候,如果你希望用的是全局变量就要加global , 反之函数就会创建自己的局部变量 。
简单说:
函数内使用全局变量,只要函数内没有使用这个变量名来做赋值语句,就不需要加global 。
python函数全局的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于python 全局、python函数全局的信息别忘了在本站进行查找喔 。
推荐阅读
- 主机的独立显卡怎么插显卡,电脑主机独立显卡插口在什么位置
- 游戏开发局长,游戏开发归哪个部门管
- 移动硬盘好坏怎么测试,移动硬盘好坏怎么测试出来
- python类和函数定义 python 类和函数的关系
- 苹果期货如何营销,苹果期货怎么做
- 游戏画面开发,游戏画面设计用什么软件
- 邮政公众号关注方法是,邮政公众号怎么关注
- linux修改脚本命令 linux怎么修改脚本
- 单位公众号怎么取名字大全,单位公众号名称怎么取有特色