все.Как установить несколько ключевых слов функции сразу, в Python 2?
Мне было интересно, можно ли сразу установить несколько ключевых слов (через список?) В вызове функции.
Например, если вы:
foo, bar = 1, 2
print(foo, bar)
Выход (1,2)
.
Для функции
def printer(foo, bar)
print(foo,bar)
Можно ли сделать что-то вроде:
printer([foo, bar] = [1,2])
где оба ключевых слова Создаются со списком?
В частности, причина, почему я спрашиваю, потому что у меня есть функция, которая возвращает две переменные, scale
и offset
:
def scaleOffset(...):
'stuff happens here
return [scale, offset]
Я хотел бы передать оба этих переменных на другую функцию, которая принимает их как ключевые слова, возможно, как вложенный вызов.
def secondFunction(scale=None, offset=None):
'more stuff
До сих пор я не нашел способ сделать вызов, как это:
secondFunction([scale,offset] = scaleOffset())
См. Этот ответ: http://stackoverflow.com/a/36908/239078 – bjudson
Возможно, стоит отметить, что в Python 2 'print' является выражением, а не функцией. 'print (foo, bar)' может вводить в заблуждение, поскольку круглые скобки создают кортеж, а не передают аргументы функции. В Python 3 функция 'print' является функцией, и вы можете использовать такие вещи, как синтаксис' * args'. Вы можете получить семантику Python 3, поставив 'из __future__ import print_function' в верхней части вашего файла (перед любой другой строкой, которая также не является оператором' from __future__ import ...'). – Blckknght