Можно ли определить значение аргумента аргумента функции другому аргументу в том же определении функции? Что-то вроде:Значение аргумента функции, равное другому аргументу
def func(a, b=a):
print a, b
но это не сработало.
Можно ли определить значение аргумента аргумента функции другому аргументу в том же определении функции? Что-то вроде:Значение аргумента функции, равное другому аргументу
def func(a, b=a):
print a, b
но это не сработало.
№ Это невозможно. Интерпретатор Python считает, что вы хотите присвоить значение по умолчанию аргумента b
глобальной переменной a
, когда нет глобальной переменной a
.
Вы можете попробовать что-то вроде этого:
def func(a, b=None):
if b is None:
b = a
... который не имеет значения по умолчанию. – jonrsharpe
@jonrsharpe Одна секунда, забыл об этом при публикации. –
это не позволит пропускать только одну переменную. –
Почему бы не назначить 'a' в' b' в первой строке функции? – McGlothlin
Вы не можете этого сделать, вам нужно сделать 'b = None' тогда', если b - None: b = a'. См. Http://stackoverflow.com/q/4575326/3001761 (который вы могли бы найти тривиально, если бы искали это ...) – jonrsharpe