@fantom_ask

Как работать с функцие с большым количество необязательных параметров?

У меня есть функция с большим количеством необязательных параметров
пример
def fun(name="name", time=0, size=300, color="#fff"):

И что бы изменить параметр color мне нужо написать
fun("name", 0, 300, "#ff0"):
Можно ли это как нибудь сократить?

единсвтеное что я придумал это использовать асcоциативный масcив

def fun(arr):
	name =  ["name", "time", "size," "color"]
	val = ["name", 0 , 300 , "#fff" ]
	num = 0
	for key in name :
		try: 
			arr[key]
		except KeyError:
			arr[key] = val [num ]

Arr = {
"color"="#ff0"
}
fun(Arr)


Но есть ли лучьший способ для этого?
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
Просто делай вот так:
fun(color="значение")  # все остальные параметры останутся по умолчанию
fun(name="name", color="white")  # для указание нескольких значений

И прочитай документацию python , а также ст. библиотеку, чтобы не писать такие велосипеды.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы