python装饰器函数和函数注解
Python装饰器函数是一种特殊的函数,它可以用于修改其他函数的行为。装饰器函数接受一个函数作为参数,并返回一个新的函数,这个新的函数可以使用被修饰的函数,或者在被修饰的函数调用前后进行一些操作。在Python中,装饰器函数通常使用 @ 符号来应用到其他函数上。
下面是一个简单的装饰器函数的示例,它可以用于在函数调用前后打印一条消息:
def my_decorator(func): def wrapper(): print("Before function call") func() print("After function call") return wrapper @my_decorator def my_function(): print("pidancode.com") my_function() # 输出:Before function call pidancode.com After function call
在上面的示例中,my_decorator() 是一个装饰器函数,它接受一个函数作为参数,并返回一个新的函数 wrapper()。wrapper() 函数在调用被修饰的函数前后分别打印一条消息。@my_decorator 表示应用 my_decorator() 装饰器函数到 my_function() 函数上,这等同于执行了 my_function = my_decorator(my_function)。
除了装饰器函数外,Python还支持函数注解。函数注解是指在函数定义中对参数和返回值添加元数据的方法。注解可以是任何可调用的对象,通常是类型或函数。
下面是一个使用函数注解的示例:
def greet(name: str) -> str: return f"Hello, {name}!" result = greet("pidancode") print(result) # 输出:Hello, pidancode!
在上面的示例中,我们使用 name: str 和 -> str 这样的语法来添加注解。name: str 表示参数 name 应该是一个字符串类型,-> str 表示函数应该返回一个字符串类型。
总结:Python装饰器函数是一种特殊的函数,它可以用于修改其他函数的行为。Python中的装饰器函数通常使用 @ 符号来应用到其他函数上。函数注解是一种在函数定义中添加元数据的方法,通常用于指定参数和返回值的类型。注解可以是任何可调用的对象。
相关文章