Python, аргументы ключевого слова по умолчанию после позиционных аргументов переменной длины

Я думал, что могу использовать именованные параметры после позиционных параметров переменной длины в вызове функции в Python 2, но я получаю SyntaxError при импорте класса Python . Я пишу, например, следующим методом "get":

class Foo(object):
    def __init__(self):
        print "You have created a Foo."

    def get(self, *args, raw=False, vars=None):
        print len(args)
        print raw
        print vars

Ошибка выглядит так:

def get(self, *args, raw=False, vars=None):
                     ^
SyntaxError: invalid syntax

Я бы хотел иметь возможность вызывать метод несколькими способами:

f = Foo()
f.get(arg1, arg2)
f.get(arg1, raw=True)
f.get(arg1, arg2, raw=True, vars=something)

и т. Д.

78
задан Donald Duck 18 September 2017 в 20:33
поделиться