Introduction

box Although Python is an easy to learn and powerful programming language as it is known in common parlance, there is nevertheless need of a good introduction and tutorial on the Python language.

Why yet another documentation and tutorial on Python? Aren't there enough websites with tutorials and books dealing with Python? Isn't there already everything said about this great programming language?

These were the questions which came to our mind, when we started this website in June 2010. Yes, there are lots of tutorials and introductions, but we wanted to present a different approach, with other - more interesting - examples, better explanatory diagrams and so on. We had a lot to build on, above all the longstanding experience of Bernd Klein as a computer scientist and Python lecturer. Actually, this online course is based on the material from the classroom training courses of Bodenseo and his book on Python.

Online Course

You will find a complete introduction into Python in our online tutorial:

Further Topics

News

October 2019:
I added a new chapter to the Pandas Tutorial: Replacing Values in DataFrames and Series

September 2019:
I reshaped most of the chapters of my Matplotlib Tutorial:



August 2019:
It was long overdue. Finally we have a chapter on pytest

Juli 2019:
I wrote a new chapter with an extensive example of multiple inheritance in Bursa and Istanbul and did the final touches on a train from Geneva to Zurich. The underlying ideas have arisen while giving Python courses in various locations. The examples were nearly finished as well. All I did in Turkey was writing the explanatory text.

June 2019:
The Chapter on Inheritance has been nearly completely rewritten. Instead of using the old and boring "employee" and "person" classes, we are now using the Robot, which we have also used in our Introduction into OOP. You will meet the robot Marvin and his new friends "James" and "Dr. Frankenstein"!

April 2018:
A completely new chapter An Extensive Example for Sets was added to our tutorial. This chapter is supplementing the chapter Sets and Frozensets

October 2017:
In our chapter on Polynomials we demonstrate how easily and beautifully a class for the creation and manipulation of polynomial functions can be written in Python.

January - March 2017:
We extended our chapters on Generators and Decorators

May 2016:
New chapter on Decorators. In combination with our chapter on Memoisation and Decorators it belongs to the most extensive treatisises on the topic of decoration à la Python!

December - March 2016:
We wrote four chapters dealing with abstract classes as a tutorial on Metaclasses: August 2015:
We added a chapter on Slots and another about the difference between type and classes.

July 2014:
An introduction into using database interfaces in Python for SQL, MySQL and SQLite

March 2014:
We are currently completely revising the chapter on object oriented programming. It's more or less complete rewrite. The old version dealing with OOP can still be accessed, though we recommend to work through the new ones.
The topic now comprises five instead of previously only one chapter:

Our next Training Courses


Our next open Python classes with Bernd Klein, the author of this website:

Amsterdam:


Python Seminar for Engineers and Scientists:
    2nd of Mar - 6th of Mar , 2020
    22nd of Jun - 6th of Jun , 2020

Berlin:


Python Course for Data Analysis and Machine Learning:
    2nd of Mar - 6th of Mar , 2020
    20th of Apr - 24th of Apr , 2020
Python Intensive Course:
    15th of Jun - 19th of Jun , 2020
Python Seminar for Engineers and Scientists:
    2nd of Mar - 6th of Mar , 2020
    22nd of Jun - 6th of Jun , 2020
Python Text Processing and Computer Linguistics Course:
    22nd of Jun - 6th of Jun , 2020

Frankfurt:


Python Intensive Course:
    15th of Jun - 19th of Jun , 2020
Python Seminar for Engineers and Scientists:
    22nd of Jun - 6th of Jun , 2020
Python Course for Data Analysis and Machine Learning:
    20th of Apr - 24th of Apr , 2020

Hamburg:


Python Intensive Course:
    15th of Jun - 19th of Jun , 2020
Python Seminar for Engineers and Scientists:
    22nd of Jun - 6th of Jun , 2020
Python Course for Data Analysis and Machine Learning:
    20th of Apr - 24th of Apr , 2020

Lake Constance / Zurich:


Python Seminar for Engineers and Scientists:
    20th of Jan - 24th of Jan , 2020
    10th of Feb - 14th of Feb , 2020
    2nd of Mar - 6th of Mar , 2020
    22nd of Jun - 6th of Jun , 2020
Python Course: Level I:
    11st of May - 15th of May , 2020
Python Intensive Course:
    15th of Jun - 19th of Jun , 2020
    22nd of Jun - 26th of Jun , 2020
Python Course for Data Analysis and Machine Learning:
    2nd of Mar - 6th of Mar , 2020
    20th of Apr - 24th of Apr , 2020

Munich / München:


Python Intensive Course:
    15th of Jun - 19th of Jun , 2020
Python Seminar for Engineers and Scientists:
    22nd of Jun - 6th of Jun , 2020
Python Course for Data Analysis and Machine Learning:
    20th of Apr - 24th of Apr , 2020

Paris:


Python Seminar for Engineers and Scientists:
    22nd of Jun - 6th of Jun , 2020

Vienna / Wien:


Python Course for Data Analysis and Machine Learning:
    20th of Apr - 24th of Apr , 2020






A Course is not a Course

The question is ambiguous. First we want to explain, why this website is called "A Python Course". This website is seen all over the world and the expression "course" has varying meanings in the English speaking world. Both in the United States and Canada, a course is a teaching unit, which might last e.g. one academic term. The students normally get a grade or some academic credit for attending the course, usually after having passed an exam.

In the United Kingdom and Australia the term "course" usually defines the complete programme of studies required to complete a major or a study path leading to a university degree. The word "unit" is used in the UK to refer to an academic course in the North American sense.

On the one hand, we had the US and Canadian sense in mind: Our Python is one teaching unit and when you have successfully passed it, you are capable of programming in Python. On the other hand, we had the original meaning of the word in mind: A "course of instruction" as it might be used in book titles like "A Course in Programming Python".