Understanding Python class inheritance and Sage coding convention with fruits
28 janvier 2013 | Catégories: python, sage | View CommentsSince Sage Days 20 at Marseille held in January 2010, I have been doing the same example over and over again each time I showed someone else how object oriented coding works in Python: using fruits, strawberry, oranges and bananas.
Here is my file: fruit.py. I use to build it from scratch by adding one line at a time using attach command to see what has changed starting with Banana class, then Strawberry class then Fruit class which gathers all common methods.
This time, I wrote the complete documentation (all tests pass, coverage is 100%) and followed Sage coding convention as far as I know them. Thus, I hope this file can be useful as an example to explain those coding convention to newcomers.
One may check that all tests pass using:
$ sage -t fruit.py sage -t "fruit.py" [3.7 s] ---------------------------------------------------------------------- All tests passed! Total time for all tests: 3.8 seconds
One may check that documentation and doctest coverage is 100%:
$ sage -coverage fruit.py ---------------------------------------------------------------------- fruit.py SCORE fruit.py: 100% (10 of 10) ----------------------------------------------------------------------