python中全局变量有缩进吗_python有全局变量吗
Python 全局变量与global关键字
在Python的变量使用中,经常会遇到这样的错误:local variable 'a' referenced before assignment
它的意思是:局部变量“a”在赋值前就被引用了。
比如运行下面的代码就会出现这样的问题:a = 3
def Fuc():
print (a)
a = a + 1
Fuc()
但是如果把 a = a + 1 这一句删除又不会出现上述问题了a = 3
def Fuc():
print (a)
Fuc()
原来,在Python中,a=3 定义了全局变量a,作用域从定义处到代码结束,在 a=3 以下的函数中是可以引用全局变量a的,但如果要修改函数中与全局变量同名的变量,则函数中的该变量就会变成局部变量,在修改之前对该变量的引用自然会出现未分配或未定义的错误了。
如果确定要引用并修改全局变量必须加上global关键字a = 3
def Fuc():
global a
print (a)
a=a+1
Fuc()
注意要领:哪个函数需要修改全局变量,在函数中声明一下即可。
但是有一个函数特殊,那就是主函数:a = 3
def Fuc():
global a
print (a) # 1
a = a + 1
if __name__ == "__main__":
print (a) # 2
a = a + 1
Fuc()
print (a) # 3
输出如下(Python3环境下):3
4
5
三个print执行的顺序为:2, 1, 3 。可以看到主函数中并没有global声明变量a,仍然可以修改全局变量a。而在普通函数中,需要global声明变量a,才可以修改全局变量a。更多学习内容,请点击Python学习网。
python中全局变量有缩进吗_python有全局变量吗相关推荐
- python中for循环缩进_Python减少循环层次和缩进的技巧分析
本文实例分析了Python减少循环层次和缩进的技巧.分享给大家供大家参考,具体如下: 我们知道Python中冒号和缩进代表大括号,这样写已经可以节省很多代码行数,但是可以更优化,尽可能减少循环的层次和 ...
- [转载] python中for语句用法_详解Python中for循环的使用_python
参考链接: 在Python中将else条件语句与for循环一起使用 这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 &q ...
- python中for语句用法_详解Python中for循环的使用_python
这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 "探索 Python,第 5 部分:用 Python 编程&q ...
- python中函数的定义包括_python中函数的定义及调用
python中函数的定义及使用方法 1.函数的概念:函数是将具有独立功能的代码块组织为一个整体,使其具有特殊功能的代码集; 2.函数的作用:使用函数可以加强代码的复用性,提高程序编写的效率; 3.函数 ...
- python中意外缩进是什么意思_语法错误 - 如何处理python中的“意外缩进”?
语法错误 - 如何处理python中的"意外缩进"? 如何纠正python中的"意外缩进"错误? 15个解决方案 116 votes Python在行的开头使用 ...
- python中if else语句用法_Python If-else语句用法详解
本文概述 决策是几乎所有编程语言中最重要的方面.顾名思义, 决策制定使我们可以为特定决策运行特定代码块.在此, 将根据特定条件的有效性做出决定.条件检查是决策的基础. 在python中, 决策由以下语 ...
- python以什么表示代码层次_在Python中,采用代码缩进和( )区分代码之间的层次。_学小易找答案...
[填空题]29 号元素 Cu 基态时的电子排布式为 ___ __ ,该元素在周期表中位于 __ _ 周期. __ __ 族. [单选题]"我要努力实现梦想,以弥补小时候吹过的牛"小 ...
- python中异或怎么算_python 异或运算的前提_异或运算公式
Python基础(10)–数字-Python-第七城市 609x288 - 73KB - JPEG Python基础(10)--数字_资讯_突袭网 609x288 - 33KB - JPEG pyth ...
- python中定义变量和数组_Python中的线程和全局变量 - 数组和标准变量之间的区别?...
我目前尝试使用线程编写一个更大的python程序,并遇到了数组不必被声明为全局的问题.Python中的线程和全局变量 - 数组和标准变量之间的区别? import numpy as np import ...
最新文章
- hibernate中的hql查询语句list查询所有与iterate查询所有的区别
- 笔记本电脑如何像手机那样显示最近运行程序:三指上滑;以及如何滚动屏幕:双指上下滑
- 2017年山东省ACM省赛总结
- SpringBoot 2.x (12):整合Elasticsearch
- 07-图4. Saving James Bond - Hard Version (30)
- android远程桌面闪退,win7系统连接远程桌面出现闪退问题的两种解决方法详细教程...
- pc端常用的屏幕分辨率
- C++ 进程间通信(管道)
- 在线XML转TSV工具
- 2021-9-25 MQTT 阿里云服务器 esp32 micropython物联 以及pythonPC端
- java本地缓存简介
- 惠普打印机驱动服务器系统安装教程,Hp打印机驱动怎么安装,详细图文版教程...
- pLC支持C语言编程执行复杂控制,能够实现多种工作方式的plc控制系统的编程
- 思科恢复服务器上的配置信息,思科服务器的配置方法
- 运用简单的超市购物车系统,理解重写equals、hashcode的意义
- GitHub 上有什么好玩又有挑战的前端项目?
- access下如何配置两个vlan_VLAN实验一:VLAN基础配置及Access接口
- OBS Stduio 捕获屏幕预览黑屏 win10解决方案
- NDK版本、获取以及和ANDROID对应关系
- 在云计算时代,如何保护个人隐私?
热门文章
- autocad完全应用指南_如何提高CAD画图的速度?有哪些途径和技法?【AutoCAD教程】...
- oracle 查询简单,Oracle简单查询
- 不间断电源ups标准_UPS不间断电源除尘技巧分析
- warframe怒焚者结合目标_【虚荣盒子】设计目标和功能规划
- js 异步执行_JS Asynchronous — JS 异步编程极简史
- php折半查找算法,二分查找 [折半查找] 算法 PHP 版
- java 记事本全选_java 编写的记事本程序怎么实现复制 黏贴 剪切 全选的功能 ?...
- 基金指数温度怎么算_结构粘钢胶流淌很严重怎么办?
- printf 重新实现put_Go 实现海量日志收集系统(四)
- c语言从源代码到可执行,从源代码到可执行文件