Я часто обнаруживаю, что мне нужно временно назначить некоторые переменные-члены, например
old_x = c.x
old_y = c.y
# keep c.z unchanged
c.x = new_x
c.y = new_y
do_something(c)
c.x = old_x
c.y = old_y
но мне хотелось бы просто написать
with c.x = new_x; c.y = new_y:
do_something(c)
или даже
do_something(c with x = new_x; y = new_y)
Могут ли декодеры Python или другие языковые функции включить такой шаблон? (Я мог бы изменить класс c
по мере необходимости)