The empty list is a falsy value in Python, so you can simplify this logic. In fact, you could do:
```python
if not getattr(self, "tabs", []):
    CourseTabList.initialize_default(self)
```
and achieve the same result. `getattr` returns the third argument (the default) if it can't get the attribute from the first argument. In effect, this is saying "Get the "tabs" attribute from self, or if it doesn't exist, default to an empty list. If the result of that `getattr` is falsy, then initialize the default."