当我尝试运行我在Windows上编写的python (3.4.3)程序时,我多次收到以下错误消息,直到出现最大递归深度错误:File "C:\Anaconda3\lib\asyncore.py", line 411, in __getattr__
File "C:\Anaconda3\lib\asyncore.py", line 411, in __g
我还试图覆盖那个新类的__getattr__,这样我就可以在新类之外的属性上执行我自己的行为。例如,我有foo类,我添加了"tool“类,我想让foo.tool.test做一些我自己的事情。如果我显式地调用__getattr__,它就可以工作(参见第一个打印),但是当我引用foo.tool.test时,我被覆盖的__getattr__不会被调用,并且会引发一个属性错误。new class to ourself
self.tool = type(
假设我们使用的是python 3.x或更新版本,而不是python 2.x# Create a new instance of the RectanglePython有“魔术方法”__len__()是神奇方法的一个例子。__radd__(obj, 2)有不止一种方法可以覆盖python的点操作符。
这样做的