There's a wealth of free resources out there, including books, sites, videos, and even courses.
If you want to learn a programming language in 2018 then you could do a lot worse than Python.
The versatile language is not only used in a wide range of roles—ranging from web developers to sysadmins/devops—but also in highly-paid data science jobs.
Last year, programming Q&A hub Stack Overflow declared Python was the fastest-growing programming language, based on the sharp rise in interest in Python-related questions.
But where to get started if you want to learn Python? Thankfully there's a wealth of free resources out there, including books, sites, videos, and even courses.
SEE: Hiring kit: Python developer (Tech Pro Research)
Think Python - This book breaks uses everyday English to break the fundamentals of the language into easy-to-digest chunks.
A Byte of Python - This clear guide makes learning the basics of Python a breeze.
Automate the Boring Stuff with Python - Easy to read, this guide for beginners takes a lot of the pain out of learning a new language.
Dive into Python - This continually updated book is a great choice for those familiar with programming who want to learn Python.
Invent With Python - Walks you through building various apps with Python, assuming no knowledge. While the layout could be better, the content seems good.
Python Practice Book - Another concise guide walkthrough of the fundamentals of Python with plenty of code examples.
How to think like a computer scientist: Learning with Python - Once you're familiar with the basics, this book will walk you through the more advanced concepts and the language's theoretical underpinnings.
The Django Book - Aimed at those with a working knowledge of Python, this book will teach you everything you need to know about the web framework Django.
A Python Book: Beginning Python, Advanced Python, and Python Exercises - This overview of Python, with examples, could be useful as a reference book.
Python Programming - A Wikibook that provides an outline of the language.
Non-Programmer's Tutorial for Python - Another Wikibook that walks you through the basics of the language alongside sample programs.
Courses / tutorials
LearnPython.org's interactive tutorials - A series of simple tutorials to provide a gentle introduction to the language.
The Python Tutorial - The official introduction to the language offers more detailed walkthroughs of a wider range of Python fundamentals.
Introduction to Computer Science and Programming Using Python - This series of MIT lectures offered by edX is designed to ease in those unfamiliar with programming.
Introduction to Computer Science - This free introductory course from Udacity teaches you by having you build web apps.
Google's Python Class - Google's free class aimed at people with minimal programming experience.
Pygame official tutorials - Making games is a fun way to learn, as demonstrated by these tutorials for the pygame software library.
Codeacademy - Various free lessons that teaches the basics of Python via interactive questions, with optional paid extras.
Intro to Python for Data Science - This free course focuses on getting started with using Python to interrogate data.
Idiomatic Python - An series of tutorials for those familiar with programming who want to get up to speed on Python.
SEE: Job description: Java developer (Tech Pro Research)
Learn Python in One Video - The title may be a bit optimistic but YouTuber Derek Banas takes his time to explain concepts clearly by walking through a range of simple programs.
Python tutorials on thenewboston - Approachable and easy-to-understand YouTube series walking through the language basics.
Intermediate Python Programming - YouTuber sentdex talks you through how to do more with Python.
Stack Overflow - As with every language, the crowd-sourced Q&A site Stack Overflow provides a wealth of answers and code examples for Python.
Programiz.com - Learn Python Programming - An easily digestible guide to how to get started with Python, with plenty of code examples.
Instant Python - A bare-bones, crash-course introduction to Python.
Learn Python in 10 minutes - Not really, but it will give you a whistle-stop tour of the language with code examples.
Python Tutorials - This guide walks you through the basics of the language, as well as demonstrating some of its uses.
Full Stack Python - This curated list of guides and tutorials aims to answer any Python-related web development question you might have.
Python on TutorialsPoint - Clearly written overview of the language with code examples and diagrams.
- The truth about MooCs and bootcamps: Their biggest benefit isn't creating more coders (free PDF) (TechRepublic cover story)
- Five highly-paid and in-demand programming languages to learn in 2018 (TechRepublic)
- 7 programming languages that every developer should learn in 2018 (TechRepublic)
- 8 skills programmers must master before a technical interview (TechRepublic)
- 10 ways that IT pros and developers can keep their tech skills up to date (TechRepublic)
- The 10 easiest programming languages to learn (TechRepublic)
- Learn these 3 languages now if you want to become a data scientist (TechRepublic)
- Programming languages: Your best options (ZDNet)
- IT Hiring Kit: Programmer (Tech Pro Research)