当前位置: 首页 > 后端技术 > Python

[Python]全局变量(含义、使用要求、代码调试步骤)

时间:2023-03-26 13:17:29 Python

定义:全局变量是定义在函数外部的变量(不是在某个函数中定义的),这个变量可以在所有函数内部使用。代码体验:#定义一个全局变量num=99defdemo1():print('demo1===>%d'%num)defdemo2():print('demo2===>%d'%num)#call函数demo1()demo2()print('Complete')的执行结果:下面我们使用PyCharm的调试工具单步跟踪技术来查看上面代码执行的细节。步骤:在第二行变量前打断点,然后调出debug调试,会出现一个section,下面给出这个section的图片介绍。具体步骤:当断点在num变量的第二行时,我们点击调试工具出来面板,点击单步运行按钮,变量num后面会出现一行'num:99',同时板下右侧区域会出现变量num的执行结果,左侧区域会出现相应的数据信息,然后点击单步运行,代码在第四行执行,因为此时是一个demo1函数不执行函数内部代码块,然后单步运行,此时又是另一个函数demo2仍然不执行函数内部代码块。点击单步运行后到达第10行,再点击单步运行跳转到第5行执行demo1中的代码块。这时,板子左侧下方区域多了一条线,即上图所示的'demo1,demo.py:5'。点击单步运行跳到第10行,再点击单步运行到第11行,再重复上面demo1的步骤。最后两个函数执行完后,print('finished')终于执行了。以上就是代码的整个执行过程。可能我写的过程不是特别详细。你应该打开PyCharm并坚持上面的代码自己尝试一下,看看结果和过程。总结:主要看调试工具的左边区域。在左侧区域,可以看到当前正在执行哪一行代码,也可以看到当前是否正在执行某个函数。调用函数时,左侧区域会告诉我们当前正在执行的函数的名称。同时变量区会显示当前函数内部的局部变量,不会直接显示模块中的变量。如果要查看模块中的变量,只需单击左侧区域中模块所在的行即可。使用全局变量的要求:一句话:在函数内部,不允许直接修改全局变量的值在函数内部,可以通过全局变量的应用(即数据intheglobalvariablecanbeaccessed),但不允许直接修改全局变量的引用(使用赋值语句修改全局变量的值)代码经验:我们希望修改demo1函数为10,然后我们也希望demo2输出的num变量是我们要修改的数据10。#定义一个全局变量num=99defdemo1():#要修改全局变量的值#在Python中,不允许直接修改全局变量的值#如果使用赋值语句,函数内部会定义一个局部变量,只是这个变量的名字和全局变量的名字一样这num=10print('demo1===>%d'%num)defdemo2():print('demo2===>%d'%num)demo1()demo2()执行结果:可以从上面说demo1函数中的变量result是10,但是这个10并不是通过修改全局变量num得到的,因为函数demo1中只重定义了一个局部变量num=10,变量名是一样的。由于全局变量的值没有修改,所以demo2的结果还是99。注意:函数执行时,需要对变量进行处理:1.首先检查里面是否有指定名称的局部变量功能。如果是这样,直接使用它。2.如果没有,检查函数外是否有指定名称的全局变量。如果是,直接使用3。如果还没有,程序报错文章参考链接:www.wakey.com.cn/