This looks inefficient. How about
```
try:
    return next(b if b.title == badge_title for b in self.badges)
except StopIteration:
    return None
```