如何将功能应用于特定对象?

时间:2019-11-01 19:01:30

标签: python python-3.x

我想在're'python模块中创建一个对这样的方法起作用的方法:

_compile(pattern, flags).finditer(string)

函数查找器正在_compile上应用,如何? _compile的返回类型是字符串,如果是,那么如何创建适用于字符串的方法?

1 个答案:

答案 0 :(得分:0)

如果您创建一个具有实例方法finditer的类,并在_compile方法中返回它,则可以。本质上就是re所做的。

在不知道您到底要做什么的情况下,我将向您展示我的意思:

class CompiledClass:

    def __init__(self, pattern, flags):
        #setup class here

    def finditer(self, s):
        #perform the find or whatever it is you’re doing on the string and yield each result or return a list.

def _compile(pattern, flags):
    #do any checks or setup before creating/returning the class
    return CompiledClass(pattern, flags)