A variadic positional parameter lets a function accept an arbitrary number of positional arguments. The * marker identifies the parameter, whose value is collected as a tuple. Python’s print function uses this pattern. section 3.2.2
Collecting names
A function can require one name and collect the rest: def full_name(fname, *names): return " ".join([fname, *names]). This supports calls with multiple similar name arguments, but may hide the intended roles of those arguments. section 3.2.2
Use variadic arguments when the number of similar positional values should vary. Prefer explicitly named parameters when each value has a distinct meaning; explicit is better than implicit. section 3.2.2
def full_name(fname, *names):
return " ".join([fname, *names])
See the progressive full_name example that collects additional positional arguments. section 3.2.2







