全局变量是在函数外部定义的变量(没有定义在某一个函数内),所有函数内部都可以使用这个变量。
提示:全局变量是可变的,在其他开发语言中,大多是不推荐使用全局变量的,因为可变范围太大,会导致程序后期不好维护。
一、在函数内部修改全局变量的值
如果在函数中需要修改全局变量,需要使用global关键字进行声明。
global关键字会告诉解释器后面的变量是一个全局变量,再使用赋值语句时,就不会创建局部变量
代码体验:
# 定义一个全局变量num = 99def demo1(): # 希望修改全局变量的值 -- 使用global声明一下变量即可 # global关键字会告诉解释器后面的变量是一个全局变量 # 再使用赋值语句时,就不会创建局部变量 global num num = 10 print('demo1 ===> %d' % num)def demo2(): print('demo2 ===> %d' % num)demo1()demo2()
执行结果:
二、全局变量定义的位置和代码结构
如果在开发中我们使用到了全局变量,应该把全局变量打在代码的什么位置。
为了保证所有的数据都能够正确使用到全局变量,应该将全局变量定义在其他函数的上方。
代码体验1:
# 定义一个全局变量
num = 99
def demo1():
print(' %d' % num)
print('%s' % title)
# 再定义一个全局变量
title = 'Python自学网'
demo1()
执行结果:
代码体验2:
# 定义一个全局变量
num = 99
def demo1():
print(' %d' % num)
print('%s' % title)
print('%s' % name)
# 再定义一个全局变量
title = 'Python自学网'
demo1()
# 再定义一个全局变量
name = 'lily'
执行结果:报错
注意:由于全局变量name是在调用函数之后才定义的,在执行函数时,变量还没有定义,所以程序会报错。
代码体验3:正确位置
# 定义一个全局变量
num = 99
# 再定义一个全局变量
title = 'Python自学网'
# 再定义一个全局变量
name = 'lily'
def demo1():
print(' %d' % num)
print('%s' % title)
print('%s' % name)
demo1()
执行结果:
代码结构示意图如下:
三、全局变量命名的建议
为了避免局部变量和全局变量出现混淆,在定义全局变量时,有些公司会有一些开发要求:如:
全局变量名前应该增加g_ 或者 gl_ 的前缀
提示:具体的要求格式,各公司要求可能会有些差异
代码体验:
# 定义一个全局变量
gl_num = 99
# 再定义一个全局变量
gl_title = 'Python自学网'
# 再定义一个全局变量
gl_name = 'lily'
def demo1():
# 如果局部变量的名字和全局变量的名字相同
# PyCharm会在局部变量的下方显示一个灰色的虚线,提示我们修改一个名字
num = 20
print(' %d' % num)
print('%s' % gl_title)
print('%s' % gl_name)
demo1()
小技巧:如何在修改全局变量名时,之前其他地方使用这个变量名同时被修改?
步骤:选中要被修改的名字 —-》 点击鼠标右键出现下图这个界面,鼠标悬浮在Refactor上 —》点击Rename ——》在下一个界面上直接修改全局变量名 ——》 点击Refactor即可完成同步修改。
快速调出修改窗口:先须先选中要修改的名字 —-》 按住快捷键 Shift + F6
Python教程文章借鉴来源:http://www.wakey.com.cn/
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/73342.html