|
@@ -88,6 +88,13 @@ a, *b, c = [1, 4]
|
|
|
```python
|
|
|
def my_func(*args)
|
|
|
def my_func(**kargs)
|
|
|
+
|
|
|
+# Необязательный аргумент после *args
|
|
|
+def my_func(*args, foo=True)
|
|
|
+
|
|
|
+# Объединенный вариант передачи аргументов
|
|
|
+def my_func(a, b, *args, c, d=4, **kwargs):
|
|
|
+
|
|
|
```
|
|
|
В args будет ~={red}кортеж=~.
|
|
|
В kwargs будет ~={red}словарь=~.
|
|
@@ -101,9 +108,15 @@ dct = {'a': 5, 'b': 10}
|
|
|
print_args(**dct)
|
|
|
|
|
|
>>> 5, 10 15
|
|
|
+
|
|
|
+# Распаковка при передачи списка и словаря
|
|
|
+my_list =[5, 19, 23, 88]
|
|
|
+my_dict = {'a': 11, 'b': 23}
|
|
|
+item_sum(*my_list, **my_dict)
|
|
|
```
|
|
|
|
|
|
~={green}Как нельзя передавать аргументы=~
|
|
|
+~={red}Нельзя передавать позиционные аргументы после именованных!=~
|
|
|
```python
|
|
|
def my_func(a, b, *args):
|
|
|
print(f'{a=}, {b=}, {args=}')
|