Python extension methods

后端 未结 7 1950
星月不相逢
星月不相逢 2021-02-02 06:39

OK, in C# we have something like:

public static string Destroy(this string s) { 
    return \"\";
}

So basically, when you have a string you ca

7条回答
  •  礼貌的吻别
    2021-02-02 07:31

    C# implemented extension methods because it lacks first class functions, Python has them and it is the preferred method for "wrapping" common functionality across disparate classes in Python.

    There are good reasons to believe Python will never have extension methods, simply look at the available built-ins:

    len(o) calls o.__len__
    iter(o) calls o.__iter__
    next(o) calls o.next
    format(o, s) calls o.__format__(s)
    

    Basically, Python likes functions.

提交回复
热议问题