Python进阶(装饰器)

note 1:Python内置的@语法就是为了简化装饰器调用。下面两图效果一样。


Paste_Image.png
Paste_Image.png

note 2:python的decorator本质上是一个高阶函数,接受一个函数作为参数,然后返回一个新函数。使用decorator用Python提供的@语法,可以避免写f=decorator(f)这样的代码。
note 3:没有decorator情况下,打印函数名:


Python进阶(装饰器)_第1张图片
Paste_Image.png

有decorator情况下,再打印函数名时会发现,返回的函数名不是f2而是装饰器内部定义的名字。
note 4:int()函数可以把字符串转换成整数。当仅传入字符串时,int()默认按十进制转换。int()函数还有base参数,可以做n进制转换。


Paste_Image.png

functools.partial帮我们创建一个偏函数,不需要自己定义int2(),可直接用代码建一个新的int2。
Paste_Image.png

你可能感兴趣的:(Python进阶(装饰器))