Я пытаюсь понять, если это хорошая идея или не передать в качестве параметра Python эквивалент нуля; я считаю, что нет.
Пример: у вас есть функция, которая принимает n параметров; в одном случае мне нужны только первый и второй параметры, поэтому вместо того, чтобы писать длинное определение функции с помощью args и kwargs и манипулировать ими, я могу просто передать null одному из параметров.
def myfunct(a, b, c[optional], d[optional], e, f....n):
[do something]
if d=="y":
[do something but use only a and b]
Исполнение:
myfunct(a, b, c, d, .....n) #OK!
myfunct(a, b, None, "y", None,....n) #OK?
Теоретически это не должно приводить к ошибке, так как я считаю, что null - это значение (это не C++), хотя я не уверен, что это правильный способ сделать что-то. Функция знает, что существует условие, когда один из параметров является конкретным значением, и в этом случае она не будет запрашивать какой-либо другой параметр, кроме 1; поэтому риск использования null должен быть практически равен 0.
Это приемлемо, или я потенциально вызываю проблемы в будущем, используя этот подход?