Я предлагаю установить значение по умолчанию None
, а затем программно проверить это в своем коде:
import module
def function(param = None):
if param is None:
param = module.value
Возможно, прямое назначение (которое просто копирует ссылку) не подходит.
Например, вы упоминаете, что класс объекта может меняться от неизменяемого к изменяемым между выпусками. Если это произойдет, вам, вероятно, придется использовать copy.deepcopy()
вместо назначения.
Однако не все классы имеют свои __deepcopy__()
, поэтому копирование объектов может быть проблематичным. Возможно, новый объект будет создан с использованием значений из оригинала. Трудно сказать, что следует использовать, не зная класса объекта и что вы собираетесь делать с param
.