Затем вы можете использовать его так:

смог выяснить, как это сделать, в документации PyYAML. Я хочу представить классы Python, которые я определил в YAML, и иметь значение по умолчанию, заданное параметру в конструкторе, если он не указан в YAML. Например:

>>> class Test(yaml.YAMLObject):
...     yaml_tag = u"!Test"
...     def __init__(self, foo, bar=3):
...             self.foo = foo
...             self.bar = bar
...     def __repr__(self):
...             return "%s(foo=%r, bar=%r)" % (self.__class__.__name__, self.foo, self.bar)
... 
>>> yaml.load("""
... --- !Test
... foo: 5
... """)
Traceback (most recent call last):
  File "<stdin>", line 4, in <module>
  File "<stdin>", line 7, in __repr__
AttributeError: 'Test' object has no attribute 'bar'

Я ожидал, что это создаст объект Test с bar = 3, но я предполагаю, что он обходит мой конструктор, когда создает объект. Если я включаю отображение для бара в YAML, все работает как положено

>>> yaml.load("""
... --- !Test
... foo: 5
... bar: 42
... """)
Test(foo=5, bar=42)

Кто-нибудь знает, как я могу использовать значение по умолчанию?

Ответы на вопрос(2)

Ваш ответ на вопрос