问题标签 [method-resolution-order]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 由于从 Windows 转换到 Linux 导致的 dask mro 错误
我已经使用dask
包delayed
和compute
方法构建了 Python 2.7 代码。
这是我的代码的一个小例子:
出于某种原因,此代码在 windows 上的 anaconda 设置上完美运行,但在 Linux 上失败。
我得到的错误是:
...
将软件包 ( dask
) 更新到最新版本并没有帮助。
关于如何修复它的任何建议?
谢谢
raku - Perl 6 对象如何找到可能在父类或角色中的多方法?
考虑这个例子,其中一个子类有一个没有签名的 multi 方法和一个带有 slurpy 参数的方法:
方法查找的结构如何?我正在寻找更多解释它的方法,特别是不抱怨它。
Bar
例如,有一个对'sdo-it
的调用1
。一些理性的人可能会认为它首先会寻找匹配的签名,Bar
并且 slurpy 永远不会让任何东西通过它。然而,调用在继承链中找到了正确的 multi。
是否Bar
已经知道所有签名?它是搜索还是在编写时所有这些东西都已经解决了?
而且,有没有办法在运行时找出哪个类提供了该方法?也许有一些关于如何的电话?当我有一个我错误地指定并且正在其他地方处理的 multi 时,这将是一个方便的调试工具。
django - TypeError:无法为基础 Mixin、对象创建一致的 MRO
我正在尝试向 django QuerySet 添加一个 explain() 方法,但得到 MRO 错误:
我添加的 mixin 和代码:
(mixin 的学分:https ://stackoverflow.com/a/39168237/3385534 )
python - Python 在运行时将类添加到 __mro__
我已经看到允许在运行时添加基类的问题,但我有一个更具体的问题,试图通过使用元类在更深的层次结构中添加基类。
我希望能够Special
在运行时在元类__call__
函数中将该类添加到我的层次结构中。但这将覆盖Concrete
基类,基本上将其删除。我不知道如何正确插入这个底座。Specific
此外,我在尝试创建新类时丢失了构造函数。我真的只想__mro__
在没有副作用的情况下插入一个类。可能的?
python-2.x - python2中如何知道MRO
在 python3 中,我们可以使用'__mro__'
下面的方法来获取方法解析顺序:
python2是否有另一种方法?我试图找到一个但失败了。
python - python的多重继承
在Python 的 super() 如何与多重继承一起工作? 一个答案解释了为什么,对于这个例子:
答案是:
根据解释,这是因为:
内部调用
__init__
of ,因为这是 MRO 所规定的!First
super(First, self).__init__()
__init__
Second
他什么意思?为什么调用 First super__init__
会调用__init__
Second?我认为First与Second无关?
据说:“因为这是 MRO 规定的”,我阅读了https://www.python.org/download/releases/2.3/mro/ 但仍然没有任何线索。
谁能解释一下?
python - 为什么元类定义改变了经典类的mro?
根据方法解析顺序:
经典类使用简单的 MRO 方案:查找方法时,使用简单的深度优先从左到右方案搜索基类。
这可以在 Python 2.6 中验证
但是,如果我定义了一个元类,我会在 Python 2.7.12 中得到不同的结果:
python - pyqt 类的方法解析顺序是什么?
我最近被问到 pyqt 继承中的一个问题,问题是:假设我有一个带有方法的类 AcloseEvent(event)
和一个继承 A 和 QMainWindow 的类 B(因此有一个closeEvent(event)
方法)。解决顺序是closeEvent
什么?考虑到 python 文档,这将取决于继承顺序。但是下面的例子表明情况并非如此......有人可以帮忙吗?我在带有 PyQt5 的 Windows 上使用 Python3.6.2。
python-3.x - 此 Python 代码中多重继承的最佳实践
我对某些 Python 类中的多继承设计有一些疑问。
问题是我想扩展 ttk 按钮。这是我最初的建议(我省略了缩短方法中的所有源代码,除了init方法):
但后来我意识到我还想要这个 ImgButton 的子类,如下所示:
继承权在他看来很自然。当我注意到 ImgButton 中的大多数方法都可以用于我将来可能创建的任何 Widget 时,问题就来了。
所以我正在考虑制作一个:
用于放入所有有助于小部件颜色的方法,然后我需要 ImgButton 从 MyWidget 和 ttk.Button 继承:
编辑:另外我希望我的对象是可记录的,所以我做了这个类:
所以现在:
我来自 Java,我不知道多重继承的最佳实践。我不知道我应该如何以最佳顺序对父母进行排序,或者对设计这种多重继承有用的任何其他事情。
我搜索了这个主题,发现了很多解释 MRO 的资源,但没有关于如何正确设计多重继承的内容。我不知道我的设计是不是做错了,但我觉得这感觉很自然。
我将不胜感激一些建议,以及有关此主题的一些链接或资源。
非常感谢你。
python - 我无法在 python2.X 的多重继承中初始化不同类的数据成员
我有一个这样的代码
我想通过子类c初始化不同类(a和b)的数据成员,但是super()只访问a类,但不知何故我可以像cb.name=name
的init()一样初始化b类数据成员,然后我可以传递对象中的参数。我的问题是,如果我不这样做,我就不能在 c 的对象中传递参数。帮我!