python 判空 is None 和 if not None 对比

Thanks for comments.
I have tested the perform between these:

import timeit

def using_is_none(variable):
    return variable is None

def using_if_not_none(variable):
    return not variable

variable = None

print("Using 'is None':", timeit.timeit(lambda: using_is_none(variable), number=1000000))
print("Using 'if not None':", timeit.timeit(lambda: using_if_not_none(variable), number=1000000))

output:

jn@ubuntu:/code $ py311 /code/jupyter/test.py
Using 'is None': 0.09608164499513805
Using 'if not None': 0.057769965002080426

'if not None' have better performance(In the loop 1000000 times)

Compare to 'is None', use 'if not' have bonus:
Convert var='False', '0' and other empty data structure to set(), which respect the following legacy codes.

So I prefer to keep it.

posted @ 2023-08-12 10:23  Jneeee  阅读(101)  评论(0编辑  收藏  举报