реализация functools.partial с добавлением дополнительных аргументов

В документации для functools.partial говорится, что это "примерно эквивалентно":

def partial(func, *args, **keywords):
    def newfunc(*fargs, **fkeywords):
        newkeywords = keywords.copy()
        newkeywords.update(fkeywords)
        return func(*(args + fargs), **newkeywords)  # line to change
    newfunc.func = func
    newfunc.args = args
    newfunc.keywords = keywords
    return newfunc

Если бы я хотел реализовать версию, которая добавляет перед дополнительные аргументы, похоже, мне просто нужно изменить указанную строку.

Есть ли какие-либо другие функции/ошибки, о которых мне следует беспокоиться, просто копируя этот код?

8
задан Dave 6 August 2012 в 15:16
поделиться