为什么以下有效?
#!/usr/bin/python
def spam():
pass
spam
Run Code Online (Sandbox Code Playgroud)
我知道函数是对象,但我认为上面的代码永远不会有用,而且总是错误的结果.为什么它不会导致引用垃圾邮件功能对象的行出错?
小智 7
每个表达式都是有效的陈述.使用局部变量(无论它指的是什么)是一个有效的表达式.由于后期绑定和动态性,您无法在编译时检测它是否引用了函数或其他内容(尽管在这种情况下您不需要知道,因为只引用本地从不做任何事情).运行时检查非常昂贵,无法获得收益.
这样就禁止了表格的陈述<local variable>;.特别禁止这种情况是不一致的,需要额外的工作,并没有多少帮助恕我直言.我没有看到它无法完成的技术原因,所以它可能归结为BDFL不想要特殊情况.
| 归档时间: |
|
| 查看次数: |
256 次 |
| 最近记录: |