functional python learning and practice