![]() |
1
1
亚历克斯已经发布了一些类似的东西,但这也是我的第一个想法,所以我会继续发布它,因为它回避了麦克格雷厄姆的反对意见(即使我真的不同意他的反对意见:人们对某事一无所知的事实是 不 不使用它的理由。人们就是这样 持续 不知道)
你可以打电话给我
另一种选择是这样处理:
|
![]() |
2
2
将decorator手动应用于函数一次,并将结果保存为新名称。
|
![]() |
3
2
修饰符适用于以特定形式应用高阶函数(HOF)的情况
在本例中,语法(具有相同的语义)
对于您的用例,如果您同时需要“baref”和“decoratedf”,那么它们必须有两个不同的名称,因此decorator语法不是立即适用的——但也不是必须的!一个很好的替代方法是使用修饰函数的属性作为修饰名称,例如:
现在,你可以打电话了
|
![]() |
4
0
你可以用一个装饰师来应用亚历克斯的想法
也许
|
![]() |
5
-1
在你的特殊情况下,我会考虑使用参数解包。这只需对现有代码稍作修改即可完成:
根据您处理的对象类型,另一种选择是让装饰器“智能地”决定是否应该使用循环:
不过,当你这么做的时候,可能会产生一些混乱,而且如果你打电话的话,显然是行不通的
|
![]() |
July · 如何定义数字间隔,然后四舍五入 1 年前 |
![]() |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
|
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
![]() |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
|
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
![]() |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |