首页 python正文

python中使用global并不一定要在头部申明变量名

启明SEO python 2021-10-27 16:24:05 72 0 python

对于global的用法,我一直以为是一定要在头部进行申明变量名,后面才能操作,比如说这样:

a=None
def c():
    global a
    a="张三"
    pass

def b():
    print(a)

def main():
    print(a)
    c()
    print(a)
    b()
   

    pass
if __name__=='__main__':
    main()

输出结果为:

None

张三

张三

这个时候如果我们不定义a,运行程序就会报错。

python中使用global并不一定要在头部申明变量名

但是如果我们在main()函数中不使用a,顶部的a=None就不用写了,这样:

def c():
    global a
    a="张三"
    pass

def b():
    print(a)

def main():
   
    c()
    print(a)
    b()
 
    pass
if __name__=='__main__':
    main()

输出结果为:

张三

张三

所以,只要以后我们遇到这种情况,就可以不写头部申明,只需要在后面开始使用的函数中直接global申明一下就可以了。

评论

Python好学公众号

好文推荐

实时访客入口页面出现bd_vid=标识是什么原因

实时访客入口页面出现bd_vid=标识是什么原因

最近查看百度实时访客,总是会看到入口页面会多......

有了微信视频号,但是没有发布权限,怎么开通

有了微信视频号,但是没有发布权限,怎么开通

视频号是微信在2020年1月19号开始内测的......

服务器配置低,宝塔面板安装IIS总是安装不上怎么办

服务器配置低,宝塔面板安装IIS总是安装不上怎么办

对于一般企业网站或者博客来说,对服务器的配置......

如何用python抓取爱企查企业信息

如何用python抓取爱企查企业信息

前段时间,经理让我去找一些企业的信息,我平常......

win10下安装MYSQL后,提示Can't connect to MySQL server on localhost (10061)相关问题解决方法

win10下安装MYSQL后,提示Can't connect to MySQL server on localhost (10061)相关问题解决方法

我遇到的问题是电脑原先安装过mysql,卸......

微信通讯录中为何很多人喜欢在名称前加个字母A

微信通讯录中为何很多人喜欢在名称前加个字母A

前几天打开微信通讯录,发现有好几个人都会在自......