• $180

Object-oriented Python

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

Get this course, and many others, as part of my LernerPython membership, at https://LernerPython.com.

Overview

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

Contents

Section 1: Introduction

01 Welcome
Preview
02 What is object oriented programming?

Section 2: Defining a class

03 What are Python objects?
04 Methods vs. functions
05 The simplest Python class
06 Adding attributes
07 __init__
Preview
08 __init__ and parameters
09 More examples of objects
10 Class exercises
exercises-1.txt
11 Class exercise solutions
Preview

Section 3: Methods

12 Methods
13 Method examples
14 Method exercises
exercises-2.txt
15 Method exercise solutions
16 Visualizing methods
Preview

Section 4: Class attributes

17 Classes vs. functions
18 Class attributes
19 Class attribute exercises
exercises-3.txt
20 Class attribute exercise solutions

Section 5: Inheritance

21 Basic inheritance
exercises-4.txt
22 Inheritance exercises
23 Inheritance exercise solutions
24 More on inheritance

Section 6: Magic methods

25 len
Preview
26 __str__ and __repr__
27 Magic method exercises
exercises-5.txt
28 Magic method exercise solutions
29 Magic methods everywhere

Section 7: Summary project

30 Summary exercise
exercises-6.txt
31 Summary exercise solution

Section 8: Conclusion

32 Summary

Resources

Python objects.ipynb
11 Objects.pdf

Become a better developer.

I'm Reuven — and for 20 years, I've spent just about every day teaching Python, data science, and Git at some of the world's best-known companies. 

I've recorded my most popular courses here, for you to learn these skills — even if you don't work for a big company.

After taking my courses, you'll be able to to solve bigger problems in less time — allowing you to do your current job better, or to find a new, better job.

FAQ

I bought your previous "Object oriented programming in Python," a live recording from the summer of 2017. Do I have to pay for this course?

Not at all!  E-mail me, and I'll send you a coupon code for a free upgrade. My "forever free" policy applies to upgrades and updates to my courses.  This course covers about half of the topics in that "Functional programming" course, although it has more exercises and explanations about comprehensions — and is thus a free upgrade from it.

I'm a student or pensioner. Can I get a discount?

I know very well what it's like to be a student on a limited budget; I spent 11 years (!) on my PhD.  So yes, as with all of my products, there's a student discount.  E-mail me (reuven@lerner.co.il), and I'll send you the appropriate coupon code.

And while I don't yet know what it's like to be a pensioner/retiree, I do understand that it can be similarly challenging. For that reason, I have the same offer: E-mail me, and I'll give you the same discount as I give to students.

What if I dislike the course?

If you didn't get any value from the course, then just e-mail me (reuven@lerner.co.il) and ask for a refund.

This price is far too high for someone living in my country. Do you offer "parity pricing," or something like it, for people outside of the world's wealthiest countries?

Indeed, I do: If your country is not one of the 30 with the highest per-capita GDP (as indicated here, at https://en.wikipedia.org/wiki/List_of_countries_by_GDP_(nominal)_per_capita), then e-mail me.  I'll send you a coupon for 40% off the price, which I believe (hope) makes it more affordable.

Note that this applies to people currently living in one of those non-wealthy countries; not to people originally from there.

What version of Python do you use?

This course uses Python 3.6, the most recent as of when I recorded it.  Just about everything should work the same in Python 2.7, if you're still using it — although the Jupyter notebook that I provide only works in 3.6.

Can I buy this course for my team at work?

The course, as sold here, is for individuals.  However, e-mail me (at reuven@lerner.co.il) if you want to make a group or team purchase, and I'll provide you with an appropriate discount code for each team member to use.

What if I have more questions?

Just e-mail me at reuven@lerner.co.il, and I'll try to answer as quickly as possible.