Python has become one of the most popular programming language among software developers today. The versality of the language and the possibility for creating infinite solutions are two major contributor to this. Python boast a simple language for beginners, yet it provides a lot of expansion possibilities. A lot of library packages have been developed to extend the language into any domain you can think of.
Python is an interpreted high level programming language for general purpose programming. Created by Guido van Rossum and first released in 1991, Python has a design philosophy that emphasizes code readability, notably using significant whitespace. It provides constructs that enable clear programming on both small and large scales.
Python features a dynamic type system and automatic memory management. It supports multiple programming paradigms, including object-oriented, imperative, functional and procedural, and has a large and comprehensive standard library.
Python interpreters are available for many operating systems such as Linux, Windows and macOS. Most of Linux distributions include python as their default installations.
An empirical study found that scripting languages, such as Python, are more productive than conventional languages, such as C and Java, for programming problems involving string manipulation and search in a dictionary, and determined that memory consumption was often “better than Java and not much worse than C or C++”.
Large organizations that use Python include Wikipedia, Google, CERN, NASA, Facebook, Amazon, Instagram, Spotify. The social news networking site Reddit is written entirely in Python.
Python is especially popular for data science projects.
O’Reilly has published several titles for Python programming. I find these 3 books from Mark Lutz the most helpful for Python beginners. First, I start with Learning Python book to get a whole overview of the basic tasks using Pyhon. Next I continue with the second book Programming Python. These two books provide a very complete overview of Python and some more advanced topics of interest to developers. The third book I use is Python Pocket Reference. The reference acts as my source of handbook while experimenting with Python. Armed with these 3 books I am confident in stepping into Python development projects.