变量名有拼写错误,但代码仍然有效.为什么?

打印" Hello World" 我有一个嵌套环,外循环在钥匙值对上迭代 词典和内部循环在列表上迭代每个列表 这是字典中的映射值 DEF SHOWREPORT(自我): 对于开发,self.logger.items()中的会话: 在会话中为树: self.addtestitem(self,tree) 我不明白的是为什么这会在没有任何问题的情况下执行 "会议"拼写为复数(会话),而后来被拼写 在单数(会话)中. 是否有某种类型的局部变量的名称分辨率 做假设?

# 回答1

Mateus写道: 我忘了提及的一些规格. 版本:Python-2.4.2 OS:Librix(Gentoo(Linux))
# 回答2

Mateus写道: 我从来没有听说过一条规则无视结局的规则,我真的怀疑 一 存在. 您确定会话不是全局变量吗? 您可以检查使用 Globals().
# 回答3

嗨,伴侣, 我们需要查看更多代码,然后再看这个片段. 看起来像 名称"会话"在代码中的其他地方使用,并且存在于 ShowReport()方法. 但是没有看到此类的更多代码,甚至可能是全局 变量 /代码,不可能这样说. Python中肯定没有规则可以让您"缩写" 可变名称. 干杯, -tim Mateus写道:( _@_) Mateus写道: 否.您可能正在以IDE运行您的脚本 可变徘徊. 尝试从命令Prom. - - 希尔森/丹麦Max M,http://www.mxm.dk/ 这是疯狂的科学 电话:+45 66 11 84 94 手机:+45 29 93 42 96
# 回答4

" mateus" 写道: self.logger.items()是空的吗? 即使没有定义"爆炸",这也不会引起名称: 对于x in []: 爆炸 最大限度
# 回答5

好吧,我一一检查了两个会议的存在和 全球词典中的会话(在ShowReport()中, 循环). 他们以前都不存在,因此我收到了 没有发现它们的例外: 文件" /home/mjpl/hct/repository/hct/tutoo.py",第219行,在LoadNext中 self.loadstage(self.cur+1) 文件" /home/mjpl/hct/repository/hct/tutoo.py",第195行,在LoadStage中 self.stageframe.show() 文件 "/home/mjpl/hct/repository/hct/stages/resultadoframe/resultadoframe.py", 第17行,展示 self.listview.showreport() 文件" /home/mjpl/hct/repository/hct/widgets/deviceview.py",第54行, 在ShowReport 打印Globals()['session'] KeyError:"会话" 因此,我尝试使用其他变量名来为外循环和内部循环 一个字母的唯一区别. 然后我得到了预期的 关于不遇到变量名称的消息. 我分别将变量名称返回给"会话"和"会话", 而且我对未建立的" session"名称遇到了同样的错误. 我 只能假设存在某种类型的缓存问题. 可以 曾在.pyc中? 我以为每次都会重新编译 运行/设置为Interp 被撤回. 我敢肯定我弄错了最后一句话. hwthydeyde****@gmail.com写道:我从来没有听说过一条规则忽略了结局,我真的怀疑存在一个规则. 您确定会话不是全局变量吗? 您可以使用Globals()检查.
# 回答6

>我只能假设存在某种类型的缓存问题. 可以 如果您在Windows上,请检查您的Pathext环境变量并进行 当然,在.pyc和任何其他.py之前列出了.py? 参见,例如,ActiveState分布http://tinyurl.com/qok9v中的早期版本中 路 "电力实际上是由称为的极小微粒组成的 电子,除非你去过,否则你看不到肉眼 喝酒." - 戴夫·巴里

标签: python

添加新评论