Keywords are reserved words with a fixed meaning in the language, such as if, def and class. You cannot use them as names. Identifiers are the names you choose for variables, functions and classes. An identifier follows these rules:
It starts with a letter or an underscore.
It contains only letters, digits and underscores.
It is case-sensitive, so count and Count are different names.
The keyword module lists every keyword in keyword.kwlist. A few names, such as match and case, are soft keywords, reserved only inside the statements that use them.
Rewriting in plainer words…
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.