参见英文答案 >

Assigning to variable from parent function: “Local variable referenced before assignment”                                    5个

我试过看几个不同的例子,但我不确定为什么这不起作用.说我有一些像这样的代码:

def loadVariable():

global count

count = 0

def loadDictionary():

location = 'some location'

global myDict

myDict = pickle.load(open(location, 'rb'))

def main():

loadVariable()

loadDictionary()

for item in myDict:

if item.startswith("rt"):

count += 1

item = item[3:]

if __name__ == '__main__':

main()

在我看来,if语句被执行,它启动了main()方法.然后,加载全局变量,加载字典并执行for循环.

但是,当我运行代码时,我被告知在分配之前引用了局部变量count.为什么会这样?

编辑(解释我在评论中写的一些内容):

这不起作用(虽然我认为这是因为全局在这里使用错误):

global count

def loadVariables()

count = 0

def main():

loadVariables()

rest of code etc

这也不起作用:

def loadVariables()

count = 0

def main():

global count

loadVariables()

rest of code etc

到目前为止我唯一可以使用它的方法是使用上面提供的链接,即将计数视为列表,如下所示:

def loadVariables():

global count

count = [0]

def main():

loadVariables():

rest of code etc

count[0] += 1

python程序的执行顺序_Python方法中的执行顺序相关推荐

  1. 【Python学习系列四】Python程序通过hadoop-streaming提交到Hadoop集群执行MapReduce

    场景:将Python程序通过hadoop-streaming提交到Hadoop集群执行. 参考:http://www.michael-noll.com/tutorials/writing-an-had ...

  2. python源码多平台编译_提升Python程序运行效率的6个方法

    Python是一个很酷的语言,因为你可以在很短的时间内利用很少的代码做很多事情.不仅如此,它还能轻松地支持多任务,比如多进程等.Python批评者有时会说Python执行缓慢.本文将尝试介绍6个技巧, ...

  3. python程序员工作怎样-python程序员怎样在面试过程中展现自己的基本功

    原标题:python程序员怎样在面试过程中展现自己的基本功 当下我国人工智能招聘岗位需求不多,不过后期的发展潜力巨大,而且python程序员的薪资待遇并不比Java程序员的差,Python程序员往往都 ...

  4. python编程常用英语单词_Python编程中的英语单词整数

    假设我们有一个数字.数字可以是0到231 – 1之间的任何数字.我们必须将数字转换为单词.因此,如果数字是512,那么结果将是512. 为了解决这个问题,我们将遵循以下步骤-定义一些列表,例如less ...

  5. 提高python执行效率_提升Python程序运行效率的6个方法

    Python是一个很酷的语言,因为你可以在很短的时间内利用很少的代码做很多事情.不仅如此,它还能轻松地支持多任务,比如多进程等.Python批评者有时会说Python执行缓慢.本文将尝试介绍6个技巧, ...

  6. python封装 继承 多态 举例_python面向对象中的封装、继承、多态

    封装 可以简单的理解为隐藏一切可以隐藏的实现细节,只向外界提供简单的编程接口.我们在类中定义的方法其实就是把数据和数据的操作封装起来了,在我们创建了对象之后,只需要给对象发送一个消息(调用方法)就可以 ...

  7. python程序设计基础考试重点_python语言程序设计基础 复习整理 第1-3章

    第一章 程序设计基本方法 1.1 计算机的概念 /计算机是根据指令操作数据的设备,具备功能性和可编程性两个基本特性. /摩尔定律:单位面积集成电路可容纳晶体管的数量约每两年翻一倍.翻倍翻倍翻倍翻倍.. ...

  8. python程序语言设计教材_Python语言程序设计 - 中国高校教材图书网

    内容简介: 本书以程序设计初学者为教学对象,从程序设计基本概念出发,通过大量程序实例,深入浅出地介绍了Python程序设计的基本概念和方法.全书主要内容包括Python语言概述.Python语言基础. ...

  9. python遍历任意层次字典_Python递归中 return 代码陷阱

    1 #获取字典中的objkey对应的值,适用于字典嵌套 2 #targetDict:要查找的字典;serchKey:要查找的目标key 3 #ret:递归过程中,向外部(上层)传送 return值.被 ...

最新文章

  1. Scratch等级考试(一级)模拟题
  2. 机器学习项目实战----信用卡欺诈检测
  3. 为什么parsefloat加出来还是字符串_为什么水质检测达标家里的自来水管流出来的水却还是脏的?...
  4. oracle查看控件文件 tns
  5. STM32F103xC、STM32F103xD和STM32F103xE增强型模块框图 与 时钟树
  6. python上传图片到服务器_Flask入门之上传文件到服务器的方法示例
  7. C语言学习之利用指针将字符串a复制为字符串 b,然后输出字符串b
  8. 【slowfast 减少ava数据集】将ava数据集缩小到2个,对数据集做训练,然后进行检测,为训练自己的数据集做准备
  9. pandas 聚合函数
  10. contentsize and frame
  11. CGI-Plus v5.0.0.6 一键系统备份恢复工具箱单文件增强版
  12. 银河麒麟系统服务端命令_麒麟系统介绍
  13. 元素查找(xpath)
  14. mysql fixed数据类型_MySQL数据类型有哪些?MySQL数据类型详解
  15. 楼盘字典为什么能成为贝壳的超级护城河?
  16. 淘宝,1688,京东店铺所有商品接口分享
  17. Badboy安装和介绍
  18. 无线路由器开服务器玩游戏,游戏路由和普通无线路由器有什么区别?
  19. 2021年P气瓶充装考试题库及P气瓶充装考试报名
  20. css文字中间省略号使用js实现

热门文章

  1. Scikit-learn数据预处理分类变量编码之字段特征编码
  2. Hive多字符列分割
  3. 在线计算机扫描软件,virscan多引擎在线扫描软件
  4. oracle中的open,Oracle 深入分析Open过程
  5. android运行jar文件路径,java命令行执行jar包报错解决
  6. goland 配置goroot找不到SDK
  7. Gulp和webpack的区别
  8. python文件操作二
  9. XXX管理平台系统——概要
  10. Debian 项目不再提供 CD 格式的 ISO 镜像