This is a most excellent place for technology news and articles.
Doesn't matter what it implies. The entire purpose of programming is to make it so a human doesn't have to go do something manually.
not x tells me I need to go manually check what type x is in Python.
not x
x
len(x) == 0 tells me that it's being type-checked automatically
len(x) == 0
That's just not true:
[]
{}
list
dict
tuple
__len__
You can probably assume it's iterable, but that's about it.
But why assume? You can easily just document the type with a type-hint:
def do_work(foo: list | None): if not foo: return ...
Doesn't matter what it implies. The entire purpose of programming is to make it so a human doesn't have to go do something manually.
not xtells me I need to go manually check what typexis in Python.len(x) == 0tells me that it's being type-checked automaticallyThat's just not true:
not x- has an empty value (None, False,[],{}, etc)len(x) == 0- has a length (list,dict,tuple, etc, or even a custom type implementing__len__)You can probably assume it's iterable, but that's about it.
But why assume? You can easily just document the type with a type-hint: