【发布时间】:2021-02-08 04:20:24
【问题描述】:
大家好,我正在阅读具有此语法a,b = foo(c,d)(f,g) 的python 脚本,因为这是我第一次看到这种语法。我不知道如何解释。你能帮我理解PLZ吗?谢谢。
Unfortunately I am not authorized to share the code.
foo 具有如下结构。
def foo(n):
def todo(func):
def dodo(*args, **kargs):
...
...
...
return func(*args, **kargs)
return dodo
return todo
【问题讨论】:
-
函数
foo(c, d)可能正在返回另一个接受两个参数的函数。 -
并且该函数返回一个 2 元组、一个 2 列表或可以分解为
a,b的东西 - 但如果没有 foo 的实现,这不是真正可以回答的,也不是它本身对 SO 来说是个好问题。 -
某个函数(或其他可调用)正在返回(并且可能由其创建)名为
foo的对象(它本身是一个函数或其他类型的可调用)。后者返回一个长度为 2 的序列,其元素被“解包”并分配给变量a和b。 -
@Patrick:我不同意。 OP 似乎只是在询问如何理解所显示的代码应该被解释为做什么(一般或抽象)。
标签: python python-3.x methods functional-programming