C#类似于python中的扩展函数

本文关键字:扩展 函数 类似于 python | 更新日期: 2023-09-27 18:33:20

最终会写很多:

lines = [l.strip() for l in lines]

有没有一种可读的 Pythonista 方法来做到这一点,例如:lines.stripped()返回剥离的行?(在 C# 中,您可以将"扩展方法"添加到字符串列表中)。

C#类似于python中的扩展函数

不,你不能用猴子修补list类型。您可以使用此方法创建list的子类,但这可能是一个糟糕的主意。

捕获经常重复的代码位的 Pythonic 方法是编写一个函数:

def stripped(strings):
    return [s.strip() for s in strings]

有 https://github.com/clarete/forbiddenfruit

无论你认为它是可读的,Pythonista 是个人选择。但它确实有效。

我确实希望Python有像CSharp,Kotlin,Scala,Ruby"扩展方法"这样的东西。在那之前,禁果或它使用的技术(可以大大简化)是我知道的唯一方法。