• 欢迎访问1024小神,一个只会Python的程序猿不是一个好司机
  • 有什么想对我说的可以在留言板里给我留言哦~
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏1024小神吧

Python带参数的函数装饰器

Python 1024小神 10个月前 (12-28) 235次浏览 1个评论
# -*- coding: utf-8 -*-
# author:baoshan
# 带<a href="https://1024shen.com/archives/tag/%e5%8f%82%e6%95%b0" title="查看更多关于参数的文章" target="_blank">参数</a>的函数<a href="https://1024shen.com/archives/tag/%e8%a3%85%e9%a5%b0%e5%99%a8" title="查看更多关于装饰器的文章" target="_blank">装饰器</a>


def say_hello(country):
    def wrapper(func):
        def deco(*args, **kwargs):
            if country == 'china':
                print('你好!')
            elif country == 'america':
                print('hello')
            else:
                return
            func(*args, **kwargs)
        return deco
    return wrapper


@say_hello('china')
def chinese():
    print('我来自中国。')


@say_hello('america')
def america():
    print('I am from America.')


america()
print('-'*20)
chinese()

输出结果:

hello
I am from America.
--------------------
你好!
我来自中国。

如有失效,请留言告知丨转载请注明原文链接:Python带参数的函数装饰器
点赞 (0)

您必须 登录 才能发表评论!

(1)个小伙伴在吐槽
  1. huan506
    谢谢分享
    2021-04-04 10:41