diff options
| author | vlapa <vlapa@ya.ru> | 2026-06-13 20:33:26 +0300 |
|---|---|---|
| committer | vlapa <vlapa@ya.ru> | 2026-06-13 20:33:26 +0300 |
| commit | e5abc1fe99340b979b18864d978179f71fe8f5c5 (patch) | |
| tree | 98fd0ad7c6d0744894d6e74e446daacd9e6dd1b5 /PYTHON/-args, --kwargs.md | |
First
Diffstat (limited to 'PYTHON/-args, --kwargs.md')
| -rw-r--r-- | PYTHON/-args, --kwargs.md | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/PYTHON/-args, --kwargs.md b/PYTHON/-args, --kwargs.md new file mode 100644 index 0000000..22029c2 --- /dev/null +++ b/PYTHON/-args, --kwargs.md @@ -0,0 +1,43 @@ +**args**, когда неуверены, сколько аргументов будет передано функции, или если хотим передать сохраненный список или кортеж аргументов функции. + +**kwargs** используется, когда мы не знаем, сколько аргументов ключевых слов будет передано, а также он может быть использован для передачи значений словаря в качестве аргументов ключевых слов. Идентификаторы args и kwargs необязательны, вы можете изменить их на другие, типа *другой **пример, но лучше использовать имя по умолчанию. + +```python +# Пример *args +def sample( *args) : +print(args) +sample( 'time', 1, True) + +# Пример **kwargs +def sample(**kwargs) : +print(kwargs) +sample(a = 'time', b = 1) +``` + +==================================== +В Python можно распаковывать коллекции в аргументы или структуры — это мощно. + +```python +#_***args и kwargs — собирают аргументы:_ + +def f(*args, **kwargs): + print(args, kwargs) + +f(1, 2, x=10) # (1, 2), {'x': 10} + +# 👍 _* и ** — распаковывают:_ + +nums = [1, 2, 3] +print(*nums) # 1 2 3 + + +params = {"sep": " | "} +print(1, 2, 3, **params) # 1 | 2 | 3 + +#_Распаковка в переменные:_ + +a, *middle, b = [1, 2, 3, 4, 5] +print(middle) # [2, 3, 4] +``` + +**Где применять: передача параметров, адаптация API, читаемый код** |
