Предположим, у меня есть функция Python, которая принимает два аргумента, но я хочу, чтобы второй аргумент был необязательным, а значение по умолчанию было передано в качестве первого аргумента. Итак, я хочу сделать что-то вроде этого:
def myfunc(arg1, arg2=arg1):
print (arg1, arg2)
За исключением того, что это не работает. Единственное обходное решение, о котором я могу думать, это:
def myfunc(arg1, arg2=None):
if arg2 is None:
arg2 = arg1
print (arg1, arg2)
Есть лучший способ сделать это?
if argn is None: argn = <default_expression_involving_other_args>
, да. - person smci   schedule 18.07.2019