¿Cuál es la diferencia entre literal y variables en Python?

Soy un usuario principiante para Python, pero me confunden entre literal y variables.

Esto es lo que sé de un literal: "a"+"b"

Y variables: sentence="a"+"b"

Un literal es una notación para representar un valor fijo ( const ).
Una variable es la ubicación de almacenamiento asociada con un nombre simbólico (señalado, si lo desea).

Se explica mejor en uso:

 foo = bar(42) ^ ^ ^ | | |--- literal, 42 is *literally* 42 | |------- function, also represents "something" in memory |------------- variable, named "foo", and the content may vary (is variable) 

En cualquier lenguaje de progtwigción, un Literal es un valor constante, donde los identificadores pueden cambiar sus valores. Los identificadores pueden almacenar literales y procesarlos más. Los identificadores son nombres dados a las variables.

1 , 1.5 , 'a' , "abc" , etc. son ejemplos para literales. Pero en la statement x=123 , x es una variable y 123 es un literal.