/python_koans

Mirror of Python Koans project

Primary LanguagePythonMIT LicenseMIT

============
Python Koans
============

Python Koans on GAE lives here:
    http://python-koans.appspot.com/

***********************************************************
*** NOTE! **

This is a version of Python Koans for Google App Engine.
If you want to play with Python Koans, you don't want this branch.

*************************************************************


Getting the Most From the Koans
-------------------------------

Quoting the Ruby Koans instructions:

    "In test-driven development the mantra has always been, red, green, refactor. Write a failing test and run it (red), make the test pass (green), then refactor it (that is look at the code and see if you can make it any better. In this case you will need to run the koan and see it fail (red), make the test pass (green), then take a moment and reflect upon the test to see what it is teaching you and improve the code to better communicate its intent (refactor)."


Content
-------

Python is a made up of about 2/3 Ruby Koans ported material and 1/3 Python specific tests. The content ported from Ruby Koans includes all the assignment projects.

Content for Python 3 is a little different to the Python 2 flavor due to big changes between the 2 different languages. For example in the Python 2 variant the differences between old and new style classes are covered. This loses relevance in in the Python 3 version, but there are some extra tests covering new functionality.


Finding More Koan Projects
--------------------------

Right now there are a lot of spinoff Koan projects out there for a great number of languages and frameworks. Many of them do not have that much content, but contributing to them is a great way to learn. At the moment most of them can be found by searching for 'koans' on github.

A couple of promising projects include DotNetKoans and TestMongoKoans.


Acknowledgments
---------------

Thanks go to Jim Weirich and Joe O'Brien for the original Ruby Koans that Python Koans is based on! Also the Ruby Koans in turn borrows from Metakoans so thanks also go to Ara Howard for that!


Also thanks to everyone who helped with the Python Koans conversion! In particular I got a great headstart on the project by forking from this Python Koans startup project:

    http://bitbucket.org/mcrute/python_koans/