阅读polars python中pipe的函数定义

问题描述 投票:0回答:1

极坐标中pipe的文档说:

DataFrame.pipe(
function: Callable[Concatenate[DataFrame, P], T],
*args: P.args,
**kwargs: P.kwargs,
) → T

args 和 kwargs 转到函数参数所采用的可调用对象

我需要帮助阅读

Callable[Concatenate[DataFrame, P], T],
部分。

python-3.x python-polars
1个回答
0
投票

粗略地说,我们可以如下解压

Callable[Concatenate[DataFrame, P], T]
背后的语法。

  1. collections.abc.Callable
    用于注释可调用对象(例如函数)。订阅语法的第一个元素 (
    Concatenate[DataFrame, P]
    ) 指的是可调用的参数列表,第二个元素 (
    T
    ) 指的是其返回类型。
  2. typing.Concatenate
    提供了指定可调用参数列表的方法,允许 允许将参数类型转发到另一个可调用对象。在上面
    pl.DataFrame.pipe
    的具体示例中,
    function
    将数据帧作为第一个参数,此外还有一些其他参数(使用
    typing.ParamSpec
    objecgt
    P
    进行注释),然后将其转发到
    pl.DataFrame.pipe
    (注意
    )签名中的 P.args
    P.kwargs
    )。
  3. 在订阅语法的第二个位置,占位符
    T
    用于指定
    function
    可调用的(未知)返回类型。然后进一步用于指示(在
    pipe
    的签名中)
    pl.DataFrame.pipe
    将具有完全相同的返回类型
    T

有关可调用对象类型复杂性的更详细处理,请参阅类型文档中的“注释可调用对象”

© www.soinside.com 2019 - 2024. All rights reserved.