Python声明全局变量,python函数内的变量改为全局变量
Global关键字可用于在python中定义全局变量。
全球介绍
写程序的时候,如果要在函数之外重新赋值一个变量,而且这个变量会作用于很多函数,就需要告诉python这个变量的作用域是全局变量。此时,全局语句就可以成为这个任务,也就是说,没有全局语句,全局变量就无法修改。
全局简单示例
全局变量,用global: # coding:utf-8声明
var=0
定义乐趣():
Global var #这里是Global对var的声明。只有在声明之后,才能在该函数中更改var的值。
var=5
打印变量# 0
乐趣()
打印变量# 5
如果没有添加全局语句,第二个打印变量仍然是0。
使用全局时出错
1.在if _ _ name _ _= _ _ main _ _ :中使用global。
系统警告:语法警告:名称“var”在全局声明之前被赋值
错误#编码:utf-8
var=0
if __name__==__main__ :
Global var #在这里,Global对var的声明会触发系统性的语法警告。
打印变量
正确的代码#编码:utf-8
var=0
if __name__==__main__ :
打印#直接使用var
这个问题最好的直接解决方案是从if _ _ name _ _= _ main _ _ :中删除全局声明。这里不需要声明global。因为与其他语言不同,Python中的if语句不会引入新的作用域,所有变量都被赋予全局变量。这也解释了为什么它是一个错误。作为全局变量,不允许在使用变量名之前再次声明为全局变量,这是多余的。
简而言之,if _ _ name _ _= _ _ main _ :中的变量都是全局的,所以你中途再次声明global是错误的,所以系统会发出警告。
更多信息请点击python学习网。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。