python中定义全局变量可以使用global关键字

global介绍

在编写程序的时候,如果想为一个在函数外的变量重新赋值,并且这个变量会作用于许多函数中时,就需要告诉python这个变量的作用域是全局变量。此时用global语句就可以变成这个任务,也就是说没有用global语句的情况下,是不能修改全局变量的。

global简单例子

全局变量,使用global声明:# coding:utf-8

var = 0

def fun():

global var # 此处是global对var的声明,只有声明后,才可以在这个函数中改变var的值

var = 5

print var # 0

fun()

print var # 5

如果不加global声明, 第二次打印var还是0

错误使用global

1. 在if __name__==’__main__’:中使用global

系统警告:SyntaxWarning: name ‘var’ is assigned to before global declaration

错误代码# coding:utf-8

var = 0

if __name__=='__main__':

global var # 此处global对var的声明, 会引发系统语法警告

print var

正确代码# coding:utf-8

var = 0

if __name__=='__main__':

print var # 直接使用var

最好的直接解决这个问题的方法是把global声明从 if __name__==’__main__’: 中删除。在这里是不需要声明global的。因为与其他语言不同,Python中的if语句不会再引入一个新的作用域(scope),任何变量分配的都是全局变量(global)。这也解释了为什么它是一个错误,作为一个全局变量,在使用变量名之前是不允许再一次声明为全局变量, 这是多余的。

简言之, if __name__==’__main__’: 中的变量都是全局的,所以你在这中间再一次声明global是错误的,所以系统会发出警告。

更多学习内容,请点击python学习网。

python声明全局变量_python怎样声明全局变量相关推荐

  1. python局部变量转全局变量_python局部变量和全局变量

    python局部变量和全局变量 发布时间:2020-08-31 00:01:13 来源:51CTO 阅读:98 作者:qq5d6f345f0205e 在python开发中,变量也是有生命周期的,一旦周 ...

  2. pythonclass全局变量_python怎么使用全局变量

    在编写程序的时候,如果想为一个在函数外的变量重新赋值,并且这个变量会作用于许多函数中时,就需要告诉python这个变量的作用域是全局变量.此时用global语句就可以变成这个任务,也就是说没有用glo ...

  3. python跨文件全局变量_Python跨文件全局变量的实现方法示例

    前言 在C语言中,由于变量一定是先声明,后使用,所以我们可以清楚的知道,现在使用的变量是全局还是局部,比如: int a = 5; void test(void) { a = 1; // 没有先声明, ...

  4. python 库 全局变量_python局部变量和全局变量global

    当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的.这称为变量的 作用域 .所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开 ...

  5. python中全局变量_python如何使用全局变量

    python全局变量的使用:1.引用全局变量,代码为[if i in b:print("%d in list b" %i)]:2.修改全局变量,代码为[print "be ...

  6. python跨文件全局变量_Python跨文件全局变量的使用

    尽管某些书籍上总是说避免使用全局变量,但是在实际的需求不断变化中,往往定义一个全局变量是最可靠的方法,但是又必须要避免变量名覆盖. Python 中 global 关键字可以定义一个变量为全局变量,但 ...

  7. python如何声明函数_python如何声明函数

    Python函数的定义 定义函数,也就是创建一个函数,可以理解为创建一个具有某些用途的工具.定义函数需要用 def 关键字实现,具体的语法格式如下:def 函数名(形参列表): //由零条到多条可执行 ...

  8. python怎样设置全局变量_Python教程之全局变量用法

    本文实例讲述了Python全局变量用法.分享给大家供大家参考,具体如下: 全局变量不符合参数传递的精神,所以,平时我很少使用,除非定义常量.今天有同事问一个关于全局变量的问题,才发现其中原来还有门道. ...

  9. python有多少关键字_Python中有声明关键字吗?

    我真的很喜欢Van Gale所提供的理解,但它并不能真正回答这样一个问题:"你怎么知道这个语句是创建一个新变量还是设置一个现有变量?" 如果您想知道在查看代码时如何识别它,只需查找 ...

最新文章

  1. docker如何移除所有的mysql_docker容器删除了,link怎么还在?
  2. asm管理的dg数据文件缺失的处理方法
  3. 怎么提升写代码的能力
  4. 2020年全国普通高校毕业生874万,同比增加40万人。我们该何去何从?
  5. mysql 查新格式化_mysql 日期格式化查询
  6. HIVE: hive.error.on.empty.partition
  7. java迷宫实训报告_Java综合实训报告-迷宫.doc
  8. 春运火车票开抢:打着“加速包”名号就算“合法黄牛”了吗?
  9. linux中删除特殊文件
  10. 数据库事务日志已满的解决办法
  11. gps高斯utm_UTM坐标系统与高斯
  12. 2021年5月系统集成项目管理工程师案例分析真题讲解(2)
  13. echart 图谱_echart——关系图graph详解
  14. 读书笔记之《得未曾有》
  15. 《精通git》笔记之九(储藏与清理、签署工作、搜索)
  16. 获取ZoneId 收录的时区和偏移量
  17. 【元胞自动机】元胞自动机模拟交通事故道路通行量【含Matlab源码 356期】
  18. “左眼跳财、右眼跳灾”----科学解释
  19. java tomcat打印日志级别_修改tomcatlog输出等级
  20. 前端移动端测试 查看控制台

热门文章

  1. 【Charm Bracelet】题目解析~~
  2. 备忘录中可以打开表格吗?
  3. 服务器 网站 维护,网站服务器如何做好日常维护?
  4. android 辅助功能 翻页,Android利用悬浮按钮实现翻页效果
  5. ISE 撰写Verilog问题记录(一)
  6. 【PCI】pcie-switch应用——热拔插(七)
  7. PYCHARM 之 VIM 操作
  8. 图像 异常检测算法_检测图像异常的算法
  9. 为什么一打开电脑单机游戏就绿屏
  10. C语言泰勒公式求sin(x)值