Tutorial on Object Oriented Programming
Python and OOP

Object Oriented Programming (OOP) is a programming paradigm based on the concept of "objects" that can contain data and code. The data is often implemented as attributes. Functions implement the associated code for the data and are usually referred to in object oriented jargon as methods. In OOP, computer programs are designed by being made up of objects that interact with each other via the methods.
It was difficult for us to decide whether to add object-oriented programming to the beginner or the advanced level sections of our Python tutorial.
There are some who think it's best to combine learning Python with OOP from the start. This is vital in programming languages like Java. Python can be used without programming in an OOP style. Many beginners to Python prefer this, and if they only want to write small to medium-sized applications, this is good enough. However, for larger applications and projects, it is recommended to look into OOP. The following chapters describe almost all aspects of Python OOP.
We decided to introduce the basics of Python without going directly into object-oriented programming. Therefore, these chapters assume that you are familiar with the basics of Python.
Online Course
Further Topics
News
Our Next Training Courses
Our next open Python classes with Bernd Klein, the author of this website:
Due to the corona pandemic, we are currently running all courses online. Further Information!
Amsterdam:
Python Course for Data Analysis and Machine Learning
22 - 26 Feb 21 3 - 7 May 21
Python Course for Beginners
25 - 29 Jan 21 22 - 26 Mar 21 19 - 23 Apr 21 7 - 11 Jun 21
Python Intensive Course
17 - 19 Feb 21 24 - 26 Mar 21 19 - 21 May 21 23 - 25 Jun 21
Python Seminar for Engineers and Scientists
18 - 20 Jan 21 24 - 26 Mar 21 19 - 21 May 21
Python Text Processing and Computer Linguistics Course
21 - 25 Jun 21
Cologne:
Python Course for Data Analysis and Machine Learning
22 - 26 Feb 21 3 - 7 May 21
Python Course for Beginners
25 - 29 Jan 21 22 - 26 Mar 21 19 - 23 Apr 21 7 - 11 Jun 21
Python Intensive Course
17 - 19 Feb 21 24 - 26 Mar 21 19 - 21 May 21 23 - 25 Jun 21
Python Seminar for Engineers and Scientists
18 - 20 Jan 21 24 - 26 Mar 21 19 - 21 May 21
Python Text Processing and Computer Linguistics Course
21 - 25 Jun 21
Frankfurt:
Python Course for Data Analysis and Machine Learning
22 - 26 Feb 21 3 - 7 May 21
Python Course for Beginners
25 - 29 Jan 21 22 - 26 Mar 21 19 - 23 Apr 21 7 - 11 Jun 21
Python Intensive Course
17 - 19 Feb 21 24 - 26 Mar 21 19 - 21 May 21 23 - 25 Jun 21
Python Seminar for Engineers and Scientists
18 - 20 Jan 21 24 - 26 Mar 21 19 - 21 May 21
Python Text Processing and Computer Linguistics Course
21 - 25 Jun 21
Hamburg:
Python Course for Data Analysis and Machine Learning
22 - 26 Feb 21 3 - 7 May 21
Python Course for Beginners
25 - 29 Jan 21 22 - 26 Mar 21 19 - 23 Apr 21 7 - 11 Jun 21
Python Intensive Course
17 - 19 Feb 21 24 - 26 Mar 21 19 - 21 May 21 23 - 25 Jun 21
Python Seminar for Engineers and Scientists
18 - 20 Jan 21 24 - 26 Mar 21 19 - 21 May 21
Python Text Processing and Computer Linguistics Course
21 - 25 Jun 21
Online-Schulungen:
Python Course for Data Analysis and Machine Learning
22 - 26 Feb 21 3 - 7 May 21
Python Course for Beginners
25 - 29 Jan 21 22 - 26 Mar 21 19 - 23 Apr 21 7 - 11 Jun 21
Python Intensive Course
17 - 19 Feb 21 24 - 26 Mar 21 19 - 21 May 21 23 - 25 Jun 21
Python Seminar for Engineers and Scientists
18 - 20 Jan 21 24 - 26 Mar 21 19 - 21 May 21
Python Text Processing and Computer Linguistics Course
21 - 25 Jun 21
ParisBerlin, Munich:
Python Course for Data Analysis and Machine Learning
22 - 26 Feb 21 3 - 7 May 21
Python Course for Beginners
25 - 29 Jan 21 22 - 26 Mar 21 19 - 23 Apr 21 7 - 11 Jun 21
Python Intensive Course
17 - 19 Feb 21 24 - 26 Mar 21 19 - 21 May 21 23 - 25 Jun 21
Python Seminar for Engineers and Scientists
18 - 20 Jan 21 24 - 26 Mar 21 19 - 21 May 21
Python Text Processing and Computer Linguistics Course
21 - 25 Jun 21
Vienna, Salzburg or Linz:
Python Course for Data Analysis and Machine Learning
22 - 26 Feb 21 3 - 7 May 21
Python Course for Beginners
25 - 29 Jan 21 22 - 26 Mar 21 19 - 23 Apr 21 7 - 11 Jun 21
Python Intensive Course
17 - 19 Feb 21 24 - 26 Mar 21 19 - 21 May 21 23 - 25 Jun 21
Python Seminar for Engineers and Scientists
18 - 20 Jan 21 24 - 26 Mar 21 19 - 21 May 21
Python Text Processing and Computer Linguistics Course
21 - 25 Jun 21
Zürich, Schaffhausen, Bern, St. Gallen:
Python Course for Data Analysis and Machine Learning
22 - 26 Feb 21 3 - 7 May 21
Python Course for Beginners
25 - 29 Jan 21 22 - 26 Mar 21 19 - 23 Apr 21 7 - 11 Jun 21
Python Intensive Course
17 - 19 Feb 21 24 - 26 Mar 21 19 - 21 May 21 23 - 25 Jun 21
Python Seminar for Engineers and Scientists
18 - 20 Jan 21 24 - 26 Mar 21 19 - 21 May 21
Python Text Processing and Computer Linguistics Course
21 - 25 Jun 21
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".