python这个变量找不到吗?

angel725 发布于 2017/02/25 16:35
阅读 156
收藏 0

那个tagNameF为什么总是出错??

 

    if tagNameF != LinameF:
        print(LinameF,liwu)
        tagNameF = LinameF

代码是这样的,我发现一点。去掉“tagNameF = LinameF就不出错了,为什么?

我在最上面已经定义变量并赋空值 了啊

加载中
0
Lin_R
Lin_R

你的意图应该是想说, 让tagNameF从函数外部读取,然后和LinameF做判断, 如果不等于再赋值

如果你没有赋值语句, 那么这个是可以的, 但是你下面写了 tagNameF = LinameF, 这就告诉解释器, tagNameF是局部变量, 只能从这个本地名字空间查找, 所以你应该会报一个错误: UnboundLocalError

详情可以查看我的博文: https://my.oschina.net/LinBigR/blog/820866

0
蛋蛋爱茶茶
蛋蛋爱茶茶

tagNameF需要global

0
叫我哀木涕
叫我哀木涕

你可以把外部变量当形参传入函数,如果函数内能随便修改外部变量。那函数的意义就有点失败。

0
a
angel725

引用来自“Lin_R”的评论

你的意图应该是想说, 让tagNameF从函数外部读取,然后和LinameF做判断, 如果不等于再赋值

如果你没有赋值语句, 那么这个是可以的, 但是你下面写了 tagNameF = LinameF, 这就告诉解释器, tagNameF是局部变量, 只能从这个本地名字空间查找, 所以你应该会报一个错误: UnboundLocalError

详情可以查看我的博文: https://my.oschina.net/LinBigR/blog/820866

知道了,原来是我之前疏忽把global打错位置了

我说怎么加了也不好使

返回顶部
顶部