There's a wealth of free resources out there, including books, sites, videos, and even courses.
If you want to learn a programming language 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.
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.
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.
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 Hitchhiker's Guide to Python: Suited to both new and experienced Python developers, this book will walk you through setting up the language on a computer, the fundamentals, and popular software libraries and tools.
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, and has recently been updated to a second edition.
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.
Whirlwind Tour of Python: Aimed at existing developers unfamiliar with Python who want to use the language for data science and scientific programming, this book and code examples cover Python fundamentals.
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.
Learn x in y minutes: If you like to learn by example, this could be what you're looking for. Packed with code, Learn x in y minutes demonstrates actual Python code for everything from common math operations to manipulating dictionaries.
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.
Solo Learn Python 3 tutorial: Aimed at beginners, this allows you to work through a series of practice questions, tests and quizzes.
Code Challenges for Python: Once you've got the fundamentals of Python under your belt, you might fancy a more robust challenge -- such as these exercises that task you with everything from building a URL shortener to creating a pomodoro timer.
Practical Deep Learning for Coders, v3: For those who fancy using their Python skills to specialize in the growing field of machine learning, check out fast.ai's well-regarded Practical Deep Learning for Coders v3 course, which is aimed at those who have been coding in Python for at least one year.
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)