Python声明全局变量,python函数内的变量改为全局变量

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: