2014-03-30 21:21:24 +01:00
|
|
|
# test calling a function with keywords given by **dict
|
|
|
|
|
|
|
|
def f(a, b):
|
|
|
|
print(a, b)
|
|
|
|
|
|
|
|
f(1, **{'b':2})
|
|
|
|
f(1, **{'b':val for val in range(1)})
|
|
|
|
|
2018-03-30 01:09:00 +01:00
|
|
|
try:
|
|
|
|
f(1, **{len:2})
|
|
|
|
except TypeError:
|
|
|
|
print('TypeError')
|
|
|
|
|
2014-03-30 21:21:24 +01:00
|
|
|
# test calling a method with keywords given by **dict
|
|
|
|
|
|
|
|
class A:
|
|
|
|
def f(self, a, b):
|
|
|
|
print(a, b)
|
|
|
|
|
|
|
|
a = A()
|
|
|
|
a.f(1, **{'b':2})
|
|
|
|
a.f(1, **{'b':val for val in range(1)})
|
2022-11-26 18:12:00 +00:00
|
|
|
|
|
|
|
# test for duplicate keys in **kwargs not allowed
|
|
|
|
|
|
|
|
def f1(**kwargs):
|
|
|
|
print(kwargs)
|
|
|
|
|
|
|
|
try:
|
|
|
|
f1(**{'a': 1, 'b': 2}, **{'b': 3, 'c': 4})
|
|
|
|
except TypeError:
|
|
|
|
print('TypeError')
|