summaryrefslogtreecommitdiff
path: root/PYTHON/-args, --kwargs.md
diff options
context:
space:
mode:
authorvlapa <vlapa@ya.ru>2026-06-13 20:33:26 +0300
committervlapa <vlapa@ya.ru>2026-06-13 20:33:26 +0300
commite5abc1fe99340b979b18864d978179f71fe8f5c5 (patch)
tree98fd0ad7c6d0744894d6e74e446daacd9e6dd1b5 /PYTHON/-args, --kwargs.md
First
Diffstat (limited to 'PYTHON/-args, --kwargs.md')
-rw-r--r--PYTHON/-args, --kwargs.md43
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, читаемый код**