On Fri, Sep 30, 2016 at 5:58 AM, Random832 <random...@fastmail.com> wrote:
> On Thu, Sep 29, 2016, at 02:47, Rustom Mody wrote:
>> Your example is exactly what I am saying; if a type has a behavior in
>> which all values are always True (true-ish) its a rather strange kind
>> of bool-nature.
>
> For a given type T, if all objects of type T are true (true-ish, truthy,
> whatever), it does make using an expression of type T in an if-statement
> an incoherent thing to do, but it makes using an expression of type
> Union[T, NoneType] reasonable.

Or, as it would more commonly be spelled, Optional[T]. Very common
situation; re.match was mentioned, and lots of data types can be
clearly demonstrated by implementing them in Python using some kind of
"optional node" structure - eg a linked list, where the last one has
"self.next = None", or a binary tree where leaf nodes have None for
both children, or a hash table where empty buckets have None.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to