Decorator
A Python decorator is a specific change to the Python syntax that allows us to more conveniently alter functions and methods (and possibly classes in a future version). This supports more readable applications of the DecoratorPattern but also other uses as well.
Decorator 即修饰符,可以方便地对函数和类进行_修饰_。
Function decorators
def decorator_function(original_function):
	def wrapper_function(*args, **kwargs):
		print('Wrapper executed this before!')
		return original_function(*args, **kwargs)
	return wrapper_function
@decorator_function # display = decorator_function(display)
def display():
	print('display function ran')
@decorator_function
def display_info(name, age):
	print('display_info ran with arguments ({}, {})'.format(name, age))
# display_info('John', 25)
# display()
Class decorators
class decorator_class(object):
	def __init__(self, original_function):
		self.original_function = original_function
	def __call__(self, *args, **kwargs):
		print('Call method executed this before!')
		return self.original_function(*args, **kwargs)
@decorator_class # display = decorator_function(display)
def display():
	print('display function ran')
@decorator_class
def display_info(name, age):
	print('display_info ran with arguments ({}, {})'.format(name, age))
display_info('John', 25)
display()
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号