变量作用域问题, shadow name x from outer scope

2018-07-04 10:26:22 +08:00
 smdbh
一个字符串拼接函数
def func(ver):
__ret = ''
__for k, v in ver.items():
____ret += '{0}:{1}'.format(k, v)
__return ret

问题是第二行的 ret='' 回报 shadow name ret from outer scope 的错误。要再 for 循环里加 global ret 才能去掉。
我想问下,这类代码,常规做法是怎么做的?
4986 次点击
所在节点    Python
3 条回复
whoami9894
2018-07-04 10:47:46 +08:00
你在函数外部定义了同名变量
scmod
2018-07-04 10:59:58 +08:00
这个是错误吗~?我感觉这种是警告是不是会比较好..
chenqh
2018-07-04 11:01:30 +08:00
这个不是 pycharm 的警告吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/467992

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX