Именованные и дополнительные параметры полностью поддерживаются. .NET долгое время поддерживал поддержку VB.NET, и поэтому IronPython поддерживал такой же способ сделать это с самого начала. Новый синтаксис C# сопоставляется с теми же базовыми метаданными, что и старая поддержка VB.
Для вызова вы используете f (x = 42), который является синтаксисом имени именованного параметра Python. Для дополнительных параметров вы можете просто оставить их. В примере вашего примера вы можете сделать Draw (вес, высота) и оставить Area out. Или вы можете вызывать вес/вес и высоту в качестве названных параметров и оставлять область вне.
Основные метаданные .NET, которые IronPython ищет, это либо атрибут OptionalAttribute, либо DefaultParameterValueAttribute. Для необязательно мы передаем значение по умолчанию (T), если только этот тип не является объектом, и в этом случае мы передаем Missing.Value. Обычно это соответствует тому, как отражения называет эти API.