python - 为什么在这个例子中没有提出未定义的 NameError?
问题描述
s
为什么在下面的示例中没有为变量引发 NameError ?
from collections import defaultdict
s = defaultdict(lambda : len(s))
解决方案
出于同样的原因,这有效:
def foo():
print(bar)
bar = 'baz'
foo()
lambda
唯一定义了一个函数。到该函数被调用并尝试访问时s
,它s
已经存在。
推荐阅读
- css - 是否可以使用 CSS 使图像中的白色像素透明或接近它?
- neo4j - Neo4j APOC 删除所有触发器
- kubernetes - Kubernetes 集群中每个节点一个用户
- python - Python - 复制排序列表的索引
- c# - 调整 .NET 中的“夏令时”(DST)选项,就像 Windows
- vb.net - IntelliSense 和折叠的 XML 注释在设计视图中未按需要显示
- arrays - 如何将结构保存到领域,以及另一个结构的列表
- html - HTML 电子邮件:Outlook 中的粗体字重不起作用
- office365-apps - Office 365 文档查看器 - 不适用于具有端口号的 URL
- python - 我可以编写在执行期间修改自身的python代码吗?