from functools import wraps

class SomeDecorator:
	
	def __init__(self, value):
		print("Decorator init called")
		self.value = value
		
	def __call__(self, func):
		@wraps(func)
		def inner(*args, **kwargs):
			print("decorator value: ", self.value)
			self.value += 10
			return func(*args, **kwargs)
		return inner
		
"____________________________________________________________"

@SomeDecorator(value=1)
def f1(*args, **kwargs):
	return "f1"
	
@SomeDecorator(value=2)
def f2(*args, **kwargs):
	return "f"

f1()
f2()
f1()
f2()