You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
19 lines
509 B
19 lines
509 B
# test passing a string object as the key for a keyword argument
|
|
|
|
try:
|
|
exec
|
|
except NameError:
|
|
print("SKIP")
|
|
raise SystemExit
|
|
|
|
# they key in this dict is a string object and is not interned
|
|
args = {'thisisaverylongargumentname': 123}
|
|
|
|
# when this string is executed it will intern the keyword argument
|
|
exec("def foo(*,thisisaverylongargumentname=1):\n print(thisisaverylongargumentname)")
|
|
|
|
# test default arg
|
|
foo()
|
|
|
|
# the string from the dict should match the interned keyword argument
|
|
foo(**args)
|
|
|