gpt4 book ai didi

python - 为什么这个函数的 __dict__ 属性是一个空字典?

转载 作者:行者123 更新时间:2023-12-04 16:58:49 43 4
gpt4 key购买 nike

我正在测试预定义的 字典 一个函数的属性,我得到了一个我没想到的结果。考虑以下代码:

>>> def func():
x = 7
a = 0
print(func.__dict__)


>>> func()
{}
毕竟,我确实在函数的命名空间中定义了两个变量。那么为什么这些名字没有出现在 中?字典 函数的属性?

最佳答案

一个函数的 __dict__保存属性,而不是局部变量。局部变量特定于函数的每次执行,而不是函数本身,因此您无法通过检查函数来获取局部变量值。
如果您分配了一个属性:

func.blah = 3
这将出现在 __dict__ 中.
(例如, __dict__ 不包含所有属性——还有其他方法可以创建属性,这就是为什么 __dict__ 本身不会出现在 __dict__ 中的原因。)

关于python - 为什么这个函数的 __dict__ 属性是一个空字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63501070/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com