This has gotten a bit OT..

Is there’s mailing list or something for folks to discuss the teaching of Python? I can’t seem  to find one. 

But for now: 

    You need to talk about the Python execution model, how all values
    are objects,

When you say “execution model” it sound advanced. But if people are to understand Python at all, they really need to know the basics:

Names vs Values
Identity vs equality
Mutable vs immutable 

There is also the question of whether you are teaching Python to folks that have some programming experience or teaching introductory programming to complete newbies. I suspect the OP is doing the latter, and there is something to be said for getting folks used to general programming concepts before getting into the Python specifics. 


An aside: checking identity (using is) is pretty rare in production code, outside of  “is None” ( and module-specific singletons) beginners will get pretty darn far if they only know “is” in that context. Kind of like, as Chris A suggested, how beginners will only know “with” in the context of opening files, and don’t need to understand the concept of context managers in general.

What I do is tell students they should use “is None” and then demonstrate failure of == None with numpy arrays to make the point (I’m not teaching numpy) In that case, they are not so much learning about object identity as they are operator overloading—another topic that needs to be covered eventually.

-CHB

--
Christopher Barker, PhD (Chris)

Python Language Consulting
  - Teaching
  - Scientific Software Development
  - Desktop GUI and Web Development
  - wxPython, numpy, scipy, Cython