def setdefault(self, k, v=None):
        """
        DS.setdefault(k[,v]) -> DS.get(k, v), also set DS[k]=set(v)
        if k not in D.  v defaults to None.
        """
        if k in self:
            return self[k]

        if v == None:
            return
        else:
            try:
                super(DictSet, self).__setitem__(k, set(v))
            except:
                raise
            return self[k]

        DS.setdefault(k[,v]) -> DS.get(k, v), also set DS[k]=set(v)
        if k not in D.  v defaults to None.
        
recipes/Python/577702_DictSet__specialized_Pythcontainer_datatype/recipe-577702.py