Klassenmethode mit Argumenten nur einmal umarmenPython

Python-Programme
Anonymous
 Klassenmethode mit Argumenten nur einmal umarmen

Post by Anonymous »

Es gibt zwei Klassen und ich möchte Element einwickeln.

Code: Select all

class Foo:
_count = 0

def foo(self, param2):
self._count += param2

class Bar:
_collection = [Foo(), Foo(), Foo()]

def bar(self, param1, param2):
for item in self._collection:
wrapped_function = wrapper(item.foo, param1)
wrapped_function(param2)

def wrapper(func, param1):
# some database call or whatever
cache = {param1: 'param_value'}

def _wrapper(*args, **kwargs):
# access value to read
print(cache[param1])
return func(*args, **kwargs)
return _wrapper

bar = Bar()
bar.bar(1, 2)
Es kann erreicht werden, wenn Wrapper keine Parameter enthalten und als einfacher Dekorator verwendet wurde, aber ich muss einen Param1 darin übergeben, obwohl es immer dasselbe ist. Erziele es.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post