Object-oriented Python by Reuven M. Lerner

Object-oriented Python

Learn the how and why of Python objects — and write more powerful code in less time


Object-oriented programming is a common — maybe even the dominant — style of programming in use today.   The  whole point of objects is to make your code easier to write, maintain,  and reuse.  But in many languages, these advantages get lost in a sea of syntax and buzzwords, making it hard for newcomers to adjust.

By contrast, Python's objects are simple to write, understand, and maintain. They are more flexible than their counterparts in static, compiled languages, And even newcomers to objects can start to define and use classes, methods, and instances in a short period of time.

But: Just because  Python's objects are easy to learn and use doesn't mean that they're  always easy to understand. In order  to use Python objects correctly, you need to understand how Python's object system works — and in particular, how attributes work.

This course,  based on the  Python courses I give to companies around the world (e.g., Apple, Cisco, IBM, Intel, PayPal, Western Digital, and VMWare), introduces Python objects from the ground up. It's aimed at beginner-to-intermediate Python developers who have used and even written Python objects before, but don't understand how the object system really works.  Through numerous video  lessons and exercises, this course will teach you what you need in order to take advantage of Python's objects.  I cover such topics as:
  • What is an object?
  • Setting and retrieving attributes
  • Creating classes
  • The role of __init__ 
  • The role of self
  • Writing and calling methods
  • Attribute search, and why we care
  • Class attributes
  • Inheritance

This course, like my others, aims to make you a more fluent — and thus more valuable — Python developer. And like my other courses, it has a 100% satisfaction guarantee.

What do you get:
  • More than 4 hours of video lectures
  • 15 exercises to practice and learn — the same ones I use at my on-site courses
  • The Jupyter notebook I used in my screencasts
  • PDF slides from my on-site courses
  • Access to my live, video office hours

What's included?

Video Icon 32 videos File Icon 8 files


Section 1: Introduction
01 Welcome.mov
3 mins
02 What is object oriented programming?.mov
9 mins
Section 2: Defining a class
03 What are Python objects?.mp4
16 mins
04 Methods vs. functions.mp4
6 mins
05 The simplest Python class.mp4
9 mins
06 Adding attributes.mp4
5 mins
07 __init__.mp4
9 mins
08 __init__ and parameters.mp4
6 mins
09 More examples of objects.mp4
10 mins
10 Class exercises.mp4
5 mins
1022 Bytes
11 Class exercise solutions.mp4
14 mins
Section 3: Methods
12 Methods.mp4
10 mins
13 Method examples.mp4
12 mins
14 Method exercises.mp4
6 mins
1016 Bytes
15 Method exercise solutions.mp4
27 mins
16 Visualizing methods.mp4
6 mins
Section 4: Class attributes
17 Classes vs. functions.mp4
7 mins
18 Class attributes.mp4
15 mins
19 Class attribute exercises.mp4
4 mins
622 Bytes
20 Class attribute exercise solutions.mp4
8 mins
Section 5: Inheritance
21 Basic inheritance.mp4
13 mins
605 Bytes
22 Inheritance exercises.mp4
3 mins
23 Inheritance exercise solutions.mp4
10 mins
24 More on inheritance.mp4
10 mins
Section 6: Magic methods
25 len.mp4
5 mins
26 __str__ and __repr__.mp4
8 mins
27 Magic method exercises.mp4
4 mins
923 Bytes
28 Magic method exercise solutions.mp4
13 mins
29 Magic methods everywhere.mp4
7 mins
Section 7: Summary project
30 Summary exercise.mp4
6 mins
960 Bytes
31 Summary exercise solution.mp4
17 mins
Section 8: Conclusion
32 Summary.mov
4 mins
Python objects.ipynb
102 KB
11 Objects.pdf
112 KB

Because better developers have better careers

Have a more satisfying, successful, and lucrative career, by becoming more fluent in Python, Git, and related technologies.