Python is a dynamic, strongly typed, object oriented, multipurpose programming language, designed to be quick (to learn, to use, and to understand), and to enforce a clean and uniform syntax.
a = 5makes the variable name
ato refer to the integer 5. Later,
a = "hello"makes the variable name
ato refer to a string containing "hello". Static typed languages would have you declare
int aand then
a = 5, but assigning
a = "hello"would have been a compile time error. On one hand, this makes everything more unpredictable (you don't know what
arefers to). On the other hand, it makes very easy to achieve some results a static typed languages makes very difficult.
"hello" + 5to get
Python can be used for any programming task, from GUI programming to web programming with everything else in between. It's quite efficient, as much of its activity is done at the C level. Python is just a layer on top of C. There are libraries for everything you can think of: game programming and openGL, GUI interfaces, web frameworks, semantic web, scientific computing...