Когда я пытаюсь следующее я получаю ошибкуименованные аргументы Python ссылающихся друг друга
def test_func(key1=2.7, key2=key1*3.5):
print(key1, key2)
NameError: name 'key1' is not defined
Мое решение было бы что-то вроде
def test_func(key1=2.7, key2=None):
if not key2:
key2 = key1*3.5
print(key1, key2)
, но это выглядит отчасти уродливой для меня. У кого-нибудь есть лучшее решение?
редактировать:
так мое окончательное решение
def test_func(key1=2.7, key2=None):
if key2 is not None:
key2 = key1*3.5
print(key1, key2)
спасибо за все ответы
может быть, вы должны даже изменить, что явный 'является key2 не None' , иначе пользователи не смогут передать '0' в качестве второго аргумента. –
цифры были всего лишь примером, функция, которую я использую, выглядит совсем по-другому, но вы правы. Я об этом не думал. – Peter