Технические различия и преимущества: def (*args) и def (args=None) в Python [закрыто] ⇐ Python

Программы на Python
Anonymous
Технические различия и преимущества: def (*args) и def (args=None) в Python [закрыто]

Сообщение Anonymous »

Я пытаюсь понять технические различия и преимущества одного варианта над другим между двумя приведенными ниже способами определения параметров функции в Python:
Вариант 1: использование *args:

Код: Выделить всё

def my_function(*args):
# Function body
Вариант 2: использование аргумента по умолчанию:

Код: Выделить всё

def my_function(args=None):
# Function body
Я могу вызвать оба параметра без аргументов следующим образом:

Код: Выделить всё

my_function()
ИЛИ
Вызов с аргументами как:

Код: Выделить всё

my_function(arg1, arg2)
--> в случае варианта 1

Код: Выделить всё

my_function((arg1, arg2))
--> в случае варианта 2
С обоими вариантами мой код работает хорошо. Я пытаюсь понять, как интерпретатор Python рассматривает оба варианта. В чем преимущество одного перед другим?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -in-python

Вернуться в «Python»