python の NamedTuple で一部のフィールドだけ変更した値を作成したい
例えば、以下のような NamedTuple があったとします。
from typing import NamedTuple
class Enemy(NamedTuple):
name: str
power: int
defense: int
slime = Enemy(name='slime', power=1, defense=1)
このとき、 slime から defense を 10倍にした rare_slime を作ろうとしたとき、効率良い方法は何でしょうか? NamedTuple は、基本 immutable (value object) であるので、単にコピー・代入するのはうまくいかなさそうなので、質問しています。