230fec77d7
Extends previous implementation with * for function calls to * and ** for both function and method calls.
34 lines
448 B
Python
34 lines
448 B
Python
# function calls with *pos
|
|
|
|
def foo(a, b, c):
|
|
print(a, b, c)
|
|
|
|
foo(*(1, 2, 3))
|
|
foo(1, *(2, 3))
|
|
foo(1, 2, *(3,))
|
|
foo(1, 2, 3, *())
|
|
|
|
# Another sequence type
|
|
foo(1, 2, *[100])
|
|
|
|
# Iterator
|
|
foo(*range(3))
|
|
|
|
# method calls with *pos
|
|
|
|
class A:
|
|
def foo(self, a, b, c):
|
|
print(a, b, c)
|
|
|
|
a = A()
|
|
a.foo(*(1, 2, 3))
|
|
a.foo(1, *(2, 3))
|
|
a.foo(1, 2, *(3,))
|
|
a.foo(1, 2, 3, *())
|
|
|
|
# Another sequence type
|
|
a.foo(1, 2, *[100])
|
|
|
|
# Iterator
|
|
a.foo(*range(3))
|