簡體   English   中英

Python-類范圍

[英]Python - Class Scope

我有一個很棒的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

這里的代碼很好用,除了我無法訪問自己的類,因此我自己的功能失敗。 有人能幫忙嗎?

原因是變量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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM