Main image of article Python Programming Language: Guides, Tutorials, and Downloads

Python is a robust programming language, widely used by many large organizations that prize its versatility. It’s utilized at Netflix, Dropbox and Google; it’s big in finance; and it's regularly near the top of programming-language rankings such as the TIOBE Index.

So it’s not an exaggeration to say that Python (which is free and open-source) is one of the most popular programming languages in the world. It’s also clear and easy to read, so it’s ideal for beginners. And it’s lucrative, too: According to Burning Glass, which collects and analyzes data from millions of job postings, the median salary for Python development is $100,999 per year.

Whether you’re planning on learning Python for backend web development, data analysis, machine learning, artificial intelligence (A.I.) applications, or something else entirely, here are some tips to get you started.


First things first: if you don't have Python on your computer already (which you can check by entering ‘python’ into the command line window), download the most recent stable version on the Python downloads page. Can’t decide between versions 2 and 3? This page will help you choose (spoiler alert, you're encouraged to embrace Python 3, as Python 2 has officially reached its end-of-life).

Think Python

Beginners can get started with the book ”Think Python by Allen B. Downey, which was created as a textbook and doesn’t require much computer science or math knowledge to comprehend. Information security engineer Kevin Tyers, an instructor for the SANS Institute, said he used this book to teach himself Python.

“Think Python” starts with a walkthrough of basic programming concepts before moving onto functions, recursion, data structures, and object-oriented design. “It focuses on core Python concepts without going too much into the more esoteric aspects of the language,” Tyers said. The book is free to read online (and available in two versions for Python 2 and 3).

Automate the Boring Stuff

Jessica Garson, who teaches an Into to Python class at NYU, maintains a resource list for aspiring programmers on her website. Among the list of beginner resources is the book “Automate the Boring Stuff with Python: Practical Programming for the Total Beginner” by Al Sweigert, which is available to read for free online. The book teaches readers how to write programs that fill out online forms, update and format spreadsheet data, search for and download online content, and more.

Crash Course

Python Crash Course: A Hands-On, Project-Based Introduction to Programming,” written by science math teacher Eric Matthes, introduces the basics in a straightforward way, building skills that can be used for bigger challenges. The book begins with lists, dictionaries, classes and loops, and ends with projects involving data visualizations, a web app, and an arcade game. The book also provides tools for solving one’s own programming mistakes and errors.


Python is beginning to eclipse the R programming language for data analysis. The online data science learning platform DataCamp provides several in-depth, challenging interactive courses and skills tracks, including machine learning, data manipulation with the open-source pandas library, Python programming (which has a data science component), and importing and cleaning data. DataCamp costs a flat fee of $29 a month for individuals (or $25/month if you sign up for a year).

PyCon Videos

Computer engineer Ian Lee started his Python learning journey with Django, its web framework, through the main documentation/tutorial and the Django Girls tutorial. He also started watching videos on YouTube, including many from the PyCon conference—the largest annual gathering for the community ( provides an index to many videos from conferences).

Meetups, Lists, and IRC

There are many groups for Python language enthusiasts that meet regularly. This includes PyLadies, an international mentorship group focusing on helping women become active participants in the community.

Additionally, Python has a wide variety of mailing lists and newsgroups, including a high-volume Usenet group, a tutor mailing list to ask questions, a conferences mailing list, and more. Information about these lists can be found on the PSF’s website.

There are also several language-related internet relay chat (IRC) channels, including #python, where you can ask questions and get immediate assistance with programming or troubleshooting.