does CPython optimize calls to isinstance() when argument 2 is a well know class (e.g. a type like int) "literal" or a list or tuple of them?
i am wondering because i am using some small functions that i code in place of isinstance() to make code appear cleaner that just does the call to isinstance. so, instead of:
i am wondering because i am using some small functions that i code in place of isinstance() to make code appear cleaner that just does the call to isinstance. so, instead of:
if isinstance(foobar,float): ...i would code like:
if is_float(foobar): ...these functions would be defined like:
from decimal import Decimal from io import IOBase from numbers import Number #-------.-------.-------.-------.-------.-------.-------.-------.-------.-------.-------.-------.-------.-------.-------.------- def is_bb (x):return isinstance(x, (bytes,bytearray) ) def is_bi (x):return isinstance(x, (bool,int) ) def is_bif (x):return isinstance(x, (bool,int,float) ) def is_bifc (x):return isinstance(x, (bool,int,float,complex) ) def is_bifcd (x):return isinstance(x, (bool,int,float,complex,Decimal) ) def is_bool (x):return isinstance(x, bool ) def is_bytearray (x):return isinstance(x, bytearray ) def is_bytes (x):return isinstance(x, bytes ) def is_complex (x):return isinstance(x, complex) def is_decimal (x):return isinstance(x, Decimal ) def is_dict (x):return isinstance(x, dict ) def is_ds (x):return isinstance(x, (dict,set) ) def is_fc (x):return isinstance(x, (float,complex) ) def is_fcd (x):return isinstance(x, (float,complex,Decimal) ) def is_fd (x):return isinstance(x, (float,Decimal) ) def is_float (x):return isinstance(x, float ) def is_frozenset (x):return isinstance(x, frozenset ) def is_if (x):return isinstance(x, (int,float) ) def is_ifc (x):return isinstance(x, (int,float,complex) ) def is_ifcd (x):return isinstance(x, (int,float,complex,Decimal) ) def is_ifd (x):return isinstance(x, (int,float,Decimal) ) def is_iio (x):return isinstance(x, (int,IOBase) ) def is_int (x):return isinstance(x, int ) def is_iobase (x):return isinstance(x, IOBase ) def is_lio (x):return isinstance(x, (list,IOBase) ) def is_list (x):return isinstance(x, list ) def is_ls (x):return isinstance(x, (list,set) ) def is_lt (x):return isinstance(x, (list,tuple) ) def is_ltsf (x):return isinstance(x, (list,tuple,set,frozenset) ) def is_ltsfd (x):return isinstance(x, (list,tuple,set,frozenset,dict) ) def is_number (x):return isinstance(x, Number ) def is_sbb (x):return isinstance(x, (str,bytes,bytearray) ) def is_sbbi (x):return isinstance(x, (str,bytes,bytearray,int) ) def is_set (x):return isinstance(x, set ) def is_sf (x):return isinstance(x, (set,frozenset) ) def is_si (x):return isinstance(x, (str,int) ) def is_str (x):return isinstance(x, str ) def is_tf (x):return isinstance(x, (tuple,frozenset) ) def is_tuple (x):return isinstance(x, tuple ) #-------.-------.-------.-------.-------.-------.-------.-------.-------.-------.-------.-------.-------.-------.-------.------- def not_bb (x):return not isinstance(x, (bytes,bytearray) ) def not_bi (x):return not isinstance(x, (bool,int) ) def not_bif (x):return not isinstance(x, (bool,int,float) ) def not_bifc (x):return not isinstance(x, (bool,int,float,complex) ) def not_bifcd (x):return not isinstance(x, (bool,int,float,complex,Decimal) ) def not_bool (x):return not isinstance(x, bool ) def not_bytearray (x):return not isinstance(x, bytearray ) def not_bytes (x):return not isinstance(x, bytes ) def not_complex (x):return not isinstance(x, complex) def not_decimal (x):return not isinstance(x, Decimal ) def not_dict (x):return not isinstance(x, dict ) def not_ds (x):return not isinstance(x, (dict,set) ) def not_fc (x):return not isinstance(x, (float,complex) ) def not_fcd (x):return not isinstance(x, (float,complex,Decimal) ) def not_fd (x):return not isinstance(x, (float,Decimal) ) def not_float (x):return not isinstance(x, float ) def not_frozenset (x):return not isinstance(x, frozenset ) def not_if (x):return not isinstance(x, (int,float) ) def not_ifc (x):return not isinstance(x, (int,float,complex) ) def not_ifcd (x):return not isinstance(x, (int,float,complex,Decimal) ) def not_ifd (x):return not isinstance(x, (int,float,Decimal) ) def not_iio (x):return not isinstance(x, (int,IOBase) ) def not_int (x):return not isinstance(x, int ) def not_iobase (x):return not isinstance(x, IOBase ) def not_lio (x):return not isinstance(x, (list,IOBase) ) def not_list (x):return not isinstance(x, list ) def not_ls (x):return not isinstance(x, (list,set) ) def not_lt (x):return not isinstance(x, (list,tuple) ) def not_ltsf (x):return not isinstance(x, (list,tuple,set,frozenset) ) def not_ltsfd (x):return not isinstance(x, (list,tuple,set,frozenset,dict) ) def not_number (x):return not isinstance(x, Number ) def not_sbb (x):return not isinstance(x, (str,bytes,bytearray) ) def not_sbbi (x):return not isinstance(x, (str,bytes,bytearray,int) ) def not_set (x):return not isinstance(x, set ) def not_sf (x):return not isinstance(x, (set,frozenset) ) def not_si (x):return not isinstance(x, (str,int) ) def not_str (x):return not isinstance(x, str ) def not_tf (x):return not isinstance(x, (tuple,frozenset) ) def not_tuple (x):return not isinstance(x, tuple ) #-------.-------.-------.-------.-------.-------.-------.-------.-------.-------.-------.-------.-------.-------.-------.-------
Tradition is peer pressure from dead people
What do you call someone who speaks three languages? Trilingual. Two languages? Bilingual. One language? American.
What do you call someone who speaks three languages? Trilingual. Two languages? Bilingual. One language? American.