What this Python syntax and function-invocation question tests
This is a medium-difficulty Python language-knowledge question that tests your understanding of modern function-call syntax and argument-passing conventions. It's the kind of detail-oriented question interviewers use to separate candidates who read the docs from those who rely on muscle memory.
The question focuses on valid invocation patterns in Python 3.8 and later, where the language introduced and refined several ways to pass arguments to functions. Working through these correctly requires familiarity with positional arguments, keyword arguments, unpacking operators, and any syntax changes introduced in that release cycle. The answer hinges on knowing which combinations are legal and which will raise SyntaxError or TypeError at runtime.
- Positional and keyword argument ordering
- The
* and ** unpacking operators - Syntax rules for argument position and mixing
- Python 3.8+ language changes