[Edu-sig] using doctest in intro to Python (good idea)

Kirby Urner urnerk at qwest.net
Tue Mar 29 04:49:19 CEST 2005


Thanks to Jeff (and others) for reminding me about doctest.  I did 3 hours
leading a Python training today, for GIS people (ESRI is moving to Python
for its scripting language).  

One of my modules contained this doctest example, which I tweaked to ensure
at least one test failed for the cameras:

def okfloat(anystring):
    """
    Accept a string and say if it's in float format

    >>> okfloat(1.2)
    False
    >>> okfloat('5.692')
    True
    >>> okfloat('abc')
    False
    >>> okfloat('1')
    True
    >>> okfloat([1])  # make True or invent test to force error report
    False
    """
    try:
        # preferred:  assert isinstance(anystring, basestring)
        assert type(anystring)==type('') 
        f = float(anystring)
        return True
    except:
        return False

if __name__ == '__main__':
    import doctest
    doctest.testmod()

All in all, the training went well, but I need to remember that 3 hrs is NOT
enough to cover all basic and advanced features of the language.  We got to
generators, and even decorators, but not, perversely, classes per se.

Kirby




More information about the Edu-sig mailing list