Skip to content
Advertisement

Python : terminology ‘class’ VS ‘type’

Just a simple question : when should I use the term ‘class’, and when should I use the term ‘type’ in Python ?

  • is ‘class’ only for user-defined types, and ‘type’ for built-in types ?
  • or now that everything is a type … should I use always ‘type’ even for user-defined classes ?
  • … ?

Advertisement

Answer

It is more or less historical: they used to be different a long time ago, which has no practical implications anymore.

Edit: I use “class” when referring to concrete implementations and “type” in a more informal way, when speaking about high level data structures, application arcitecture etc. In my thinking a type is a more general thing, I don’t think of every class as a distinct type.

Also, when I use metaclasses (very rarely) I speak of types.

User contributions licensed under: CC BY-SA
4 People found this is helpful
Advertisement