Python is a multi-paradigm programming language that supports object-oriented, imperative and functional programming styles. It is dynamically typed and supports complex data types like lists, dictionaries and objects. Some key features of Python include being highly readable, having extensive libraries, and being cross-platform.