def setdefault(key, d):
    """D.setdefault(k, d) -> D.get(k, d), also set D[k]=d if k not in D.

        Return the value like :meth:`~BTrees.Interfaces.IMinimalDictionary.get` except that if key is missing, d is both
        returned and inserted into the dictionary as the value of k.

        Note that, unlike as for Python's :meth:`dict.setdefault`, d is not
        optional.  Python defaults d to None, but that doesn't make sense
        for mappings that can't have None as a value (for example, an
        :class:`~BTrees.IIBTree.IIBTree` can have only integers as values).
        """
