Python函数内部定义之前调用报错求助,python函数,def str(s):p
Python函数内部定义之前调用报错求助,python函数,def str(s):p
def str(s):print 'global str()'def foo(): str('dummy') def str(s): print 'closure str()' str('dummy')def bar(): str('dummy') print 'call'foo()bar()
现象: 在foo()函数里面 第一次调用str的时候 提示:
UnboundLocalError: local variable 'str' referenced before assignment
问题:
1. 在运行foo()的时候,第一次调用str, foo本地命名空间没有str的定义,这时候要去外部找str, 为什么会找不到外部定义的str
2. foo内部有str的定义, 解释器第一次读入foo定义的时候, 内部的str要怎么处理
3. 为什么会报这个错误, 类似的bar(), 为什么能够找到外部的str
谢谢~~
https://docs.python.org/2/reference/executionmodel.html
编橙之家文章,
相关内容
- 学习机安装Python3.4.3失败提示找不到sys模块怎么办,p
- Python中浮点数int()使用技巧问题,pythonint,int()描述如下
- 请推荐一个适合查看Python文档的工具,查看python文档工
- tornado内使用Future中数据用什么方法,tornadofuture,tonado官
- Python遍历字符时将汉字和英文字符看成等同怎么写,
- Python哪个模块适合处理大量定时任务数据,python模块
- Python django haystack保存数据报SpatialError如何破,djangosp
- 请问django是并发吗?数据库操作要考虑线程安全吗,,我
- Python有CDict吗还是dict代替了,cdictdict,在python中导入模块
- Python验证socks5服务器有效性有什么方法,pythonsocks5,日前
评论关闭