распаковка аргументов в Python с и (double Star/asterisk) *
в Python, ] и * Операторы играют важные роли в распаковке аргументов при вызове functions.
Single Star *:
единственная звезда ( *) распаковывает последовательность или коллекцию в позиционные аргументы. Например, рассмотрим функцию:
def add(a, b): return a b
Код ниже используется * для распаковки значений Tuple:
values = (1, 2) s = add(*values)
это эквивалентно записи:
s = add(1, 2)
double Star **: ]
Double Star (**) выполняет аналогичную операцию для словарей, обеспечивая значения для названных аргументов. Рассмотрим функцию:
def sum(a, b, c, d): return a b c d
Распаковка значений словаря2, используя **, дает следующее:
values2 = { 'c': 10, 'd': 15 } s = add(**values2)
это эквивалентно:
s = sum(a=1, b=2, c=10, d=15)
комбинация и : * оба
и * можно использовать одновременно в тот же функциональный вызов. Например:
values1 = (1, 2) values2 = { 'c': 10, 'd': 15 } s = add(*values1, **values2)это эквивалентно:
s = sum (1, 2, c = 10, d = 15)
values1 = (1, 2) values2 = { 'c': 10, 'd': 15 } s = add(*values1, **values2)]
параметр Распаковка: ] В дополнение к распаковке аргументов,
и * также можно использовать для распаковки параметров в определениях функции.
def add (*values): # ... def get_a (** значения): # ...
values1 = (1, 2) values2 = { 'c': 10, 'd': 15 } s = add(*values1, **values2)последствия для производительности:
последствия для использования и
*, как правило, минимальны. Операция распаковки включает в себя минимальные накладные расходы и не влияет на эффективность самой функции. Тем не менее, чрезмерная распаковка может сделать код менее читаемым и поддерживаемым. ]
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3