Как применить функцию к определенному объекту? - PullRequest
0 голосов
/ 01 ноября 2019

Я хочу создать метод, который работает с методом, например, внутри модуля 're' python:

_compile(pattern, flags).finditer(string)

функция поиска применяется к _compile. Как? тип возвращаемого _компилятора является строкой, и если это так, то как можно создать методы, применимые к строкам?

1 Ответ

0 голосов
/ 01 ноября 2019

Вы можете создать класс с методом экземпляра 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...