3.10 такое работает, я правильно понимаю, что в предыдущих версиях вот это вот *kwargs.values() легко может не работать?
Python 3.8.16 (default, Dec 7 2022, 01:12:06) [GCC 11.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> def get_data_fig(*args, **kwargs): ... return sum(args), *kwargs.values() ... >>> get_data_fig(1, x=1) (1, 1)
а зачем?
Да задачка на степике =) Видимо степик юзает совсем уж что-то старое, поскольку выдает ошибку синтаксиса
А чему здесь не работать?
а что за задача? странное что-то
Хм. В 3.7 ругается. Не помню, что в 3.8 делали по поводу распаковки.
я бы вместо кваргов сделал параметры с дефолтом None
там на входе не четко определенное количество именованных аргументов, их может быть один, а может пять
Generalized iterable unpacking in yield and return statements no longer requires enclosing parentheses. This brings the yield and return syntax into better agreement with normal assignment syntax: >>> def parse(family): lastname, *members = family.split() return lastname.upper(), *members parse('simpsons homer marge bart lisa maggie') ('SIMPSONS', 'homer', 'marge', 'bart', 'lisa', 'maggie')
Обсуждают сегодня