1.函数修饰符(@)
@与其说是修饰不如说其是引用
def use(f):
def test():
print('this is use test')
f()
return test
@use
def usetest():
print('Hello')
usetest()
# 输出:
# this is use test
# Hello
类似于如下应用:
def use(f):
print('this is use test')
f()
def usetest():
print('Hello')
use(usetest)
2.参数修饰符(*)
参数带一个星号表示参数以元组(tuple)的形式导入:
def use(*arg):
print(arg)
use(1,'2',[2,'3'])
# 输出:
# (1, '2', [2, '3'])
# use(a=1, 2) TypeError: use() got an unexpected keyword argument 'a'
3.参数修饰符(**)
双星号(**)将参数以字典的形式导入:
def use(**arg):
print(arg)
use(a=1, b='2', c=[2, '3'])
# 输出:
# {'a': 1, 'b': '2', 'c': [2, '3']}
def use(*arg1, **arg2):
print(arg1)
print(arg2)
use(1, b='2', c=[2, '3'])
# 输出:
# (1,)
# {'b': '2', 'c': [2, '3']}
本文详细介绍了Python中装饰器(@)的使用方法及其应用场景,包括如何通过装饰器修改函数行为。此外,还深入探讨了参数修饰符(*)与(**)的作用,即如何利用这两种修饰符来灵活处理可变数量的位置参数和关键字参数。
604

被折叠的 条评论
为什么被折叠?



