Вы можете создать класс с методом экземпляра finditer
и вернуть его в методе _compile
. По сути, это то, что вы делаете.
Не зная, что именно вы пытаетесь сделать, я покажу вам, что я имею в виду:
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)