Programming Tutorials

Excellent Free Tutorials to Learn Python

Python is a high-level, general-purpose, structured, powerful, open source programming language that’s used for a wide variety of programming tasks. It features a fully dynamic type system and automatic memory management, similar to that of Scheme, Ruby, Perl, and Tcl, avoiding many of the complexities and overheads of compiled languages. The language was created by Guido van Rossum in 1991, and continues to grow in popularity, in part because it is easy to learn with a readable syntax. The name Python derives from the sketch comedy group Monty Python, not from the snake.

Python is a versatile language. It’s frequently used as a scripting language for web applications, embedded in software products, as well as artificial intelligence and system administration tasks. It’s both simple and powerful, perfectly suited for beginners and professional programmers alike.

Here’s our recommended tutorials to learn Python. If you’re looking for free Python programming books, check here.


1. Introductory training session on the use of Python for data science by LinuxLinks

This is a short introductory training session on the use of Python for data science. We focus on a common task in data science: import a data set, manipulate its structure, and then visualise the data. We shall use Python and a Jupyter Notebook to accomplish this task.

Read the tutorial


2. A Beginner’s Python Tutorial by Steven Thurlow

When Civilization IV (Firaxis Games, published by Take2) was announced, one of the most exciting features was that much of the scripting code is in Python, and the game data in XML. This tutorial attempts to teach you the basics of Python programming that you could use with civIV.

Read the tutorial


3. A guide to Python’s magic methods by Rafe Kettler

This guide focuses on magic methods. They are everything in object-oriented Python; special methods that you can define to add “magic” to your classes.

Read the guide


4. Build applications in Python the anti-textbook by Suraj Patil

This is an easy to understand introduction to the Python programming language which focuses on teaching concepts via examples. The initial chapters explain various concepts and in a later chapter, you will build a command line todo list manager.

Read the tutorial


5. Composing Programs by John DeNero

This text focuses on methods for abstraction, programming paradigms, and techniques for managing the complexity of large programs. These concepts are illustrated primarily using Python 3.

Read the tutorial


6. Google’s Python Class by Google

This is a free class for people with a little bit of programming experience who want to learn Python. The class includes written materials, lecture videos, and lots of code exercises to practice Python coding. These materials are used within Google to introduce Python to people who have just a little programming experience.

Read the material


7. Google Python Style Guide by Google

Python is the main dynamic language used at Google. This style guide is a list of Do’s and Don’ts for Python programs.

Read the guide


8. Introduction to Programming with Python by OpenTechSchool and contributors

This workshop is an introduction to basic programming concepts and abstractions. It’s laid out for hands-on workshops taking up roughly 4 hours.

Read the tutorial


9. Learn python3 in Y minutes by Louie Dinh

A whirlwind tours of Python, presented as valid, commented code and explained as it goes.

Read the tutorial


10. Non-Programmer’s Tutorial for Python 3 by Wikibooks

The Non-Programmer’s Tutorial For Python 3 is a tutorial designed to be an introduction to the Python programming language. This guide is for someone with no programming experience.

Read the tutorial


11. Python programming tutorial by Akuli

This is a concise Python 3 programming tutorial for people who think that reading is boring. The author aims to show everything with simple code examples; there are no long and complicated explanations with fancy words.

Read the tutorial


12. Python Koans by Greg Malcolm

Python Koans is an interactive tutorial for learning the Python programming language by making tests pass.

Read the tutorial


13. Scipy Lecture Notes by Gaël Varoquaux, Emmanuelle Gouillart, Olav Vahtras, Pierre de Buyl (Editors)

One document to learn numerics, science, and data with Python.

Read the tutorial


14. The Python GTK+ 3 Tutorial

This tutorial gives an introduction to writing GTK+ 3 applications in Python.

Prior to working through this tutorial, it’s recommended that you have a reasonable grasp of the Python programming language.

Read the tutorial


15. Python Tutorial for Beginners [Full Course] by Programming with Mosh

A Python tutorial for beginners. Learn Python for machine learning and web development.

Watch the videos


16. The Python Tutorial by Python Software Foundation

This tutorial introduces the reader informally to the basic concepts and features of the Python language and system. It helps to have a Python interpreter handy for hands-on experience, but all examples are self-contained, so the tutorial can be read off-line as well.

Read the tutorial


17. Practice Python by Michele Pratusevich

There are over 30 beginner Python exercises just waiting to be solved. Each exercise comes with a small discussion of a topic and a link to a solution.

Tackle the exercises


18. A Complete Python 3 Tutorial by Witspry Technologies

This is a complete Python (updated to Python 3.7) course where you can learn Python from scratch. It covers almost all aspects of Python programming language from a professional development perspective.

Read the tutorial


19. Python Tutorial for Beginners: Learn Python Programming in 7 Days by Guru99

Python has deep focus on code readability and this class will teach you Python from basics.

Read the tutorials


All tutorials in this series:

Free Programming Tutorials
JavaGeneral-purpose, concurrent, class-based, object-oriented, high-level language
CGeneral-purpose, procedural, portable, high-level language
PythonGeneral-purpose, structured, powerful language
C++General-purpose, portable, free-form, multi-paradigm language
C#Combines the power and flexibility of C++ with the simplicity of Visual Basic
JavaScriptInterpreted, prototype-based, scripting language
PHPPHP has been at the helm of the web for many years
RubyGeneral purpose, scripting, structured, flexible, fully object-oriented language
AssemblyAs close to writing machine code without writing in pure hexadecimal
SwiftPowerful and intuitive general-purpose programming language
GroovyPowerful, optionally typed and dynamic language
GoCompiled, statically typed programming language
PascalImperative and procedural language designed in the late 1960s
PerlHigh-level, general-purpose, interpreted, scripting, dynamic language
RDe facto standard among statisticians and data analysts
COBOLCommon Business-Oriented Language
ScalaModern, object-functional, multi-paradigm, Java-based language
FortranThe first high-level language, using the first compiler
ScratchVisual programming language designed for 8-16 year-old children
LuaDesigned as an embeddable scripting language
LogoDialect of Lisp that features interactivity, modularity, extensibility
RustIdeal for systems, embedded, and other performance critical code
LispUnique features - excellent to study programming constructs
AdaALGOL-like programming language, extended from Pascal and others
HaskellStandardized, general-purpose, polymorphically, statically typed language
SchemeGeneral-purpose, functional, language descended from Lisp and Algol
PrologGeneral purpose, declarative, logic programming language
ForthImperative stack-based programming language
ClojureDialect of the Lisp programming language
JuliaHigh-level, high-performance language for technical computing
SQLAccess and manipulate data held in a relational database management system
ErlangGeneral-purpose, concurrent, declarative, functional language
VimLPowerful scripting language of the Vim editor
OCamlGeneral-purpose, powerful, high-level language
AwkVersatile language designed for pattern scanning and processing
RacketPlatform for programming language design and implementation
BASICFamily of general-purpose, high-level programming languages
CoffeeScriptA very succinct programming language that transcompiles into JavaScript
LaTeXProfessional document preparation system and document markup language
ElixirRelatively new functional language that runs on the Erlang virtual machine
DartClient-optimized programming language for fast apps
ABAPAdvanced Business Application Programming
F#General purpose, strongly typed, multi-paradigm language. Part of ML
ChapelParallel-programming language in development at Cray Inc.
DylanMulti-paradigm language, supports functional & object-oriented programming
DGeneral-purpose systems programming language with a C-like syntax
SolidityObject-oriented, high-level language for implementing smart contracts
XMLSet of rules for defining semantic tags that describe the structure and meaning
ValaObject-oriented language with a self-hosting compiler that generates C code
ECMAScriptBest known as the language embedded in web browsers
KotlinStatically typed, general-purpose programming language with type inference
TypeScriptStrict syntactical superset of JavaScript, adding optional static typing
MarkdownPlain text formatting syntax designed to be easy-to-read and easy-to-write
PikeInterpreted, general-purpose, high-level, cross-platform, dynamic language
HTMLHyperText Markup Language
FactorDynamic stack-based language
Objective-CGeneral purpose language which is a superset of C
Standard MLOne of the two main dialects of the ML language
AliceEducational language with an integrated development environment
AgdaDependently typed functional language based on intuitionistic type theory
IconHigh-level, general-purpose language
PureScriptSmall strongly, statically typed language with expressive types
Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.