Обложка канала

Библиотека Python разработчика

20835 @BookPython

Библиотека Python разработчика. Книги по программированию на Python.

Библиотека Python разработчика

4 года назад
Открыть в
To set the default values of attributes in a constructor, you usually use a simple if: def __init__(self, cache=None): if cache is None: cache = {} self._cache = cache It can be rewritten a little shorter: def __init__(self, cache=None): self._cache = cache or {} This method a couple of drawbacks though. First, the intent of such or may not be clean enough since it is usually used in boolean context. Second, or checks for False, not for None, that can lead to obscure bugs.