You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中是否有关于管道操作符的PEP提案?

Python通用管道操作符的相关PEP提案情况

在Python中,我们常写这类分步处理的代码:

def load_data():
   df_ans = get_data()
   df_checked = check_data(df_ans) # 返回df_ans或抛出错误
   return_dict = format_data(df_ans) 
   return return_dict

也可以写成嵌套调用的形式,但可读性和美观度较差:

def load_data():
   return format_data(check_data(get_data()))

如果是Pandas相关代码,还能通过.pipe()方法实现链式调用:

def load_data():
   return get_data().pipe(check_data).pipe(format_data)

但你想要的是一种通用的管道操作语法,比如:

def load_data():
   return (get_data() |> check_data |> format_data)

其中x |> y等价于y(x)(y为可调用对象)——目前没有被正式接受并纳入Python标准的PEP提案实现这种语法。

社区里曾有过相关讨论和非正式的提案尝试:比如在PEP 572(海象运算符)的讨论阶段,曾有人提议加入管道操作符,但最终该提案仅聚焦于赋值表达式,未包含管道功能;还有像PEP 2025这类草案,但并未进入正式推进流程,最终也没有落地。

你提到的重载|运算符的第三方库,确实能实现类似效果,但需要额外依赖或自定义包装,不属于Python原生支持的通用管道操作。

内容的提问来源于stack exchange,提问作者MYK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 09:53:19