python - 对象类别覆盖或修改

标签 python

是否可以向对象类添加一个方法,并在所有对象上使用它?

最佳答案

在 Python 中,属性是使用字典实现的:

>>> t = test()
>>> t.__dict__["foo"] = "bla"
>>> t.foo
'bla'

但对于“对象”,它使用“dictproxy”作为接口(interface)来防止此类赋值:

>>> object.__dict__["test"] = "test"
TypeError: 'dictproxy' object does not support item assignment

所以不,你不能。

注意:您也不能直接修改元类类型。但是由于 Python 非常灵活,我相信大师会找到一种方法来实现您想要的。这里有黑巫师吗:-)?

关于python - 对象类别覆盖或修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/790560/

相关文章:

Python\SQLite : table A has no column named X

python - 在 pyparsing 中实现属性访问运算符

python - keras:如何编写自定义损失函数以将帧级预测聚合到歌曲级预测

python - 哈希基和表大小如何影响哈希的时间复杂度?

python - 在 Python 中使用 Paramiko 进行递归目录复制

python - 查找从 (x,y) 坐标移动的距离

python - 如何将多个 seaborn 图保存到同一个 pdf/png 文件?

python - 运算符中的 Numpy/pandas 元素

python - Pip 相当于 Bundler 本地覆盖

python - 测试 python 字符串是否可打印