装饰器decorator
Topic source有一点小疑惑 为什么wrapper函数最后要return _func, 直接在上下两个print之间执行完 func_str(args, *kw) 最后什么也不return,结果也一样
我这就是用if判断log情况,然后把上面廖大2种代码放到分支里。
在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。 本质上,decorator就是一个返回函数的高阶函数.
上面是直接return func(*args, **kw)
,所以我先用_func
记下来,函数调用前后打印日志,再返回函数。
Discuss:
WOWsapling 2 Created at 6-22 17:43 return目的是返回 func(args, *kw)的返回值,编程中我们一般不会直接打印出结果,一般都是通过返回值的方式给予结果。打印只是在测试中常用(或者编程学习中常用吧)。大概是这样的。返回值还是挺重要的。--小白解释不可全信。
在访问限制这一章中:
有些时候,你会看到以一个下划线开头的实例变量名,比如_name,这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当你看到这样的变量时,意思就是,“虽然我可以被访问,但是,请把我视为私有变量,不要随意访问”。
_func
用法好像在哪看到过,忘记了
- 1
数据学家琪露诺
执行结果
我的作业地址,欢迎交流 https://github.com/xiajava/learn-python3