Python全局变量字global使用的相关问题有哪些
Admin 2022-08-10 群英技术资讯 1044 次浏览
这篇文章主要讲解了“Python全局变量字global使用的相关问题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python全局变量字global使用的相关问题有哪些”吧!2、全局变量是编程术语中的一种,源自于变量之分。
3、变量分为局部与全局,局部变量又可称之为内部变量。
4、由某对象或某个函数所创建的变量通常都是局部变量,只能被内部引用,而无法被其它对象或函数引用。
5、全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对象或函数引用。
6、global关键字的作用是可以使得一个局部变量为全局变量。
# -*- coding: utf-8 -*-
def test1():
# 局部变量 local
local_var = "a"
print(local_var)
# 全局无法使用局部变量,只有对应的局部作用域可用
# print(local_var) # NameError: name 'local_var' is not defined
global_var = 1
def test2():
# 函数内使用全局变量
print(global_var + 1)
def inner():
# 嵌套函数内使用全局变量
print(global_var + 2)
return global_var + 3 # 返回值内使用全局变量
# 函数外使用全局变量。
print(global_var)
def test3():
# 函数内变量,但对于下级函数就是全局变量,对于外部来说就是局部变量
func_var = 1
def inner():
print(func_var)
return func_var
return inner()
test3()
def test4():
# global关键字作用
global func_var
func_var = 2
# 调用test5可以打印 func_var,去掉global会报错。
test5()
print(test5.__globals__)
def test5():
print(func_var)
test4()
# a.py
def test6():
# global关键字作用
global func_var
func_var = 3
# b.py
from a import test6
def test7():
print(test6.__globals__["func_var"])
# 不先执行test6的情况下会抛出异常。KeyError: 'func_var'
test7() # KeyError: 'func_var'
# a.py
def test6():
# global关键字作用
global func_var
func_var = 4
# b.py
from a import test6
def test7():
print(test6.__globals__["func_var"])
# 先执行test6的情况下,test可以使用 func_var
test6()
test7() # 4
num = 0 def cc(): global count,num count = count+1 num = num+2 print(count,num) cc() 3 2 # 可以函数中的global声明能够修改全局变量 num Out[24]: 2 # count Out[25]: 3 在使用全局变量的场合,也可用类变量代替 class C: count = 3 def cc(): count = C.count+1 print(count) cc() 4
1、只导入包,global定义的全局变量没有被加到globals里面。
2、执行global所在的对应函数,global定义的函数内会存入对应变量,其他函数内则不会存入。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
怎样用python编写备忘录的功能?对于备忘录的功能大家应该都比较清楚,其实就是一个读取、写入和保存文件的过程,今天我们就来了解一下python实现备忘录功能。
这篇文章主要介绍了python爬取全国火锅店数量并可视化展示,文章通过获取全国不同城市火锅店数量情况,并将这些数据进行可视化展示,下文详细内容介绍,需要的小伙伴可以参考
这篇文章主要为大家介绍了Python进行密码学反向密码的教程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
时间戳又被称之为是Unix时间戳,原本是在Unix系统中的计时工具。它的含义是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。UNIX时间戳的 0 按照ISO 8601规范为 :1970-01-01T00:00:00Z。
众所周知Django较为适合原生开发,即通过该框架搭建一个全新的项目,通过在修改models.py来创建新的数据库表,下面这篇文章主要给大家介绍了关于django连接Mysql中已有数据库的相关资料,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008