A variable is a named memory location used to stored value. In Python, we need not declare a variable before using it. This makes Python a dynamically typed programming language, also known as weakly-typed programming language, as opposed to strongly-type programming languages such as C/C++/Java where every variable has a type and depending on the type of a variable we can assign value to it. In Python, we simply assign a value to a variable and it comes into existence. There is no need to declare the type of a variable. However, variables get data type depending on the value it holds at the given instant of time. Variables are handled internally according to the type of value assigned.
Variable names must be meaningful and should be convey the meaning behind usage. Appropriate variable names help improve readability of code and are always preferred over single-letter variable names such as a, p, x and so on.