我有一个非常好的python类。
但是我需要从另一个类中替换一个函数作为我班级的一部分。
class myclass:
def display(self, jobid): #Self here is referencing my class
zoom = NavigationToolbar2.zoom
def new_zoom(self, *args, **kwargs):
if self.blurEnabled: #Self is referencing NavigationToolbar2 Instance instead of my class
self.toggleBlur() #Self is referencing NavigationToolbar2 Instance instead of my class
zoom(self, *args, **kwargs)
NavigationToolbar2.zoom = new_zoom
这里的代码效果很好,除了我无法访问我自己的类,所以我自己的函数失败了。有人能帮忙吗?
答案 0 :(得分:1)
原因是变量self
在内部范围内过载。尝试重命名,例如
class myclass:
def display(self, jobid): #Self here is referencing my class
zoom = NavigationToolbar2.zoom
def new_zoom(toolbar, *args, **kwargs):
...
NavigationToolbar2.zoom = new_zoom