On Sat, 23 Jul 2016 01:21 am, justin walters wrote: > That should illustrate why. This is because simply typing '{}' could be > interpreted as > either a dict or a set.
No. {} is always an empty dict. That is a language guarantee. Any programming language where {} is not an empty disk is not valid Python. > My interpreter defaults 'type({})' to 'dict', but it's best to not > take the risk. Are you concerned that type([]) might not be list? Or type("") might not be str? Or that type(0) might not be int? > You could also replace that line with: > > if stock is None or type(stock) != dict: Generally speaking, the right way to test whether something is an instance of a type is to use the isinstance() function: if stock is None or not isinstance(stock, dict): ... That will work correctly even if stock belongs to a subclass of dict. -- Steven “Cheer up,” they said, “things could be worse.” So I cheered up, and sure enough, things got worse. -- https://mail.python.org/mailman/listinfo/python-list