Erweitern einer Klasse in Python innerhalb eines DekoratorsPython

Python-Programme
Guest
 Erweitern einer Klasse in Python innerhalb eines Dekorators

Post by Guest »

Ich verwende einen Decorator, um bestimmte Klassen zu erweitern und ihnen einige Funktionen hinzuzufügen, etwa die folgende:

Code: Select all

def useful_stuff(cls):
class LocalClass(cls):
def better_foo(self):
print('better foo')
return LocalClass

@useful_stuff
class MyClass:
def foo(self):
print('foo')
Leider ist MyClass aufgrund der nicht globalen LocalClass
nicht mehr auswählbar

Code: Select all

AttributeError: Can't pickle local object 'useful_stuff..LocalClass'
  • Ich muss meinen Unterricht aufpeppen. Können Sie ein besseres Design empfehlen?
  • Angesichts der Tatsache, dass es in einer Klasse mehrere Dekoratoren geben kann, wäre es sinnvoll, zur Mehrfachvererbung zu wechseln, indem MyClass die gesamte Funktionalität erbt bessere Option?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post