Development of an internal social media platform with personalised dashboards for students
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.

unpacking_generalizations.py 1.0KB

1234567891011121314151617181920212223242526272829
  1. """Various tests for unpacking generalizations added in Python 3.5"""
  2. # pylint: disable=missing-docstring, invalid-name
  3. def func_variadic_args(*args):
  4. return args
  5. def func_variadic_positional_args(a, b, *args):
  6. return a, b, args
  7. def func_positional_args(a, b, c, d):
  8. return a, b, c, d
  9. func_variadic_args(*(2, 3), *(3, 4), *(4, 5))
  10. func_variadic_args(1, 2, *(2, 3), 2, 3, *(4, 5))
  11. func_variadic_positional_args(1, 2, *(4, 5), *(5, 6))
  12. func_variadic_positional_args(*(2, 3), *(4, 5), *(5, 6))
  13. func_variadic_positional_args(*(2, 3))
  14. func_variadic_positional_args(*(2, 3, 4))
  15. func_variadic_positional_args(1, 2, 3, *(3, 4))
  16. func_positional_args(*(2, 3, 4), *(2, 3)) # [too-many-function-args]
  17. func_positional_args(*(1, 2), 3) # [no-value-for-parameter]
  18. func_positional_args(1, *(2, ), 3, *(4, 5)) # [too-many-function-args]
  19. func_positional_args(1, 2, c=24, d=32, **{'d': 32}) # [repeated-keyword]
  20. # +1: [repeated-keyword,repeated-keyword]
  21. func_positional_args(1, 2, c=24, **{'c': 34, 'd': 33}, **{'d': 24})