A blog post on choosing more specific types rather than general ones like list and dict.

  • chemacortes@programming.dev
    ·
    1 year ago

    Sequence now lives at collections.abc. BTW, float is not a supertype of int (issubclass(int, float) == False). Normaly, It is acceptable to use int instead of float, but speaking of variance, it is more precise to use numbers.Real:

    issubclass(Integral, Real) == True
    issubclass(int, Real) == True
    issubclass(float, Real) == True
    issubclass(complex, Real) == False
    
    • MeadSteve@reddthat.com
      hexagon
      ·
      1 year ago

      yeah it's an interesting case that an int can be treated as a float. I should probably update my post to mention that it's not strictly a supertype but a special exception mentioned in python's typehinting pep: https://peps.python.org/pep-0484/#the-numeric-tower