Skip to content

Triangle Python Users Group: TriPython (formerly TriZPUG)

Sections
Personal tools
You are here: Home » Members » dhandy's Home » New-Style Classes Practical Overview

TriPython January, April, July, and October general meetings and monthly second Wednesday project nights meet at:

UNC Renaissance Computing Institute

TriPython February, May, August, and November general meetings and monthly first Tuesday project nights meet at:

WebAssign: Online Homework and Grading

TriPython March, June, September, and December general meetings and monthly third Monday project nights meet at:

Caktus Consulting Group
Log in
 

New-Style Classes Practical Overview

Document Actions
A practical overview of the benefits of Python's "new-style" classes, available since Python 2.2, presented via documented, self-checking sample modules.

At our TriZPUG meeting on March 23, 2005, I presented an overview of the main benefits of "new-style" classes that were introduced in Python 2.2.

It is easy to keep on using the "old-style" classes, but it helps for Python programmers to become aware of the new features available to them.

What is so great about new-style classes? From my point of view, the most practical benefits are:

  1. properties
  2. super()
  3. descriptors
  4. static and class methods

The comments and docstrings in each of these sample modules describe a feature of new-style classes. Put all of the module files in the same directory. Run a module, and it will step through the "interactive session" in the module's docstrings. Press Enter until the the module finishes running. Because these modules use advanced doctest features and also descriptors, Python 2.4 is required.

Module Description
demotest.py Extract Python interactive sessions from docstrings and run them in "demo-mode". This module is imported by all the other modules.
newclass0.py Intro, syntax of new-style classes
newclass1.py properties
newclass2.py super()
newclass3.py descriptors
newclass4.py static and class methods

September 14-16, 2016:

PyData Carolinas 2016

TriPython endorses:

PyLadies RDU

Upcoming Events
Durham Project Night
Caktus Group Tech Space, 108 Morris St., Durham,
2017-07-17
TriPython July 2017 Meeting: Just What Is A Quality Engineer?
Renaissance Computing Institute (RENCI), Biltmore Conference Room, 5th Floor, 100 Europa Drive, Suite 590, Chapel Hill,
2017-07-27
Raleigh Project Night
WebAssign, NCSU Centennial Campus, 1791 Varsity Drive, Suite 200, Raleigh,
2017-08-01
Chapel Hill Project Night
Renaissance Computing Institute (RENCI), Biltmore Conference Room, 5th Floor, Europa Center, 100 Europa Drive, Suite 590, Chapel Hill,
2017-08-09
« June 2017 »
Su Mo Tu We Th Fr Sa
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
2017-06-06
18:00-21:00 Raleigh Project Night
2017-06-14
18:00-21:00 Chapel Hill Project Night
2017-06-19
18:00-21:00 Durham Project Night
2017-06-22
19:00-21:00 TriPython June 2017 Meeting: HoneyPy
Orders over $29.95 qualify for free shipping in the US.