[Edu-sig] what is ~fluent Python?

kirby urner kirby.urner at gmail.com
Tue Feb 2 13:15:14 EST 2016


On Tue, Feb 2, 2016 at 6:24 AM, Juliano <julianofischer at gmail.com> wrote:

> Hello, everybody!
>
> Taking advantage of the semantic redundancy =)
>
> It is common for Python programmers try to adapt Python to patterns
> learned in other languages. This can prevent them from learning powerful
> features available in the Python language.
>
> There is a very good book, called Fluent Python, written by  Brazilian
> Luciano Ramalho, which addresses these issues.
>
>
Yes, totally a good book, I've been studying it quite a bit!
I second your opinion.

I used a tilde ~ to mean something like "not fluent" or
"the opposite of fluent" but that was maybe too cryptic.

What comes up for code school / night school teachers
like me is who to package Python-the-language into
learnable chunks.

I'm thinking of going with a martial arts schema where
one has "belts" of different color:

http://www.wmacenter.com/index.cfm?page=17

So what would that look like?  I'm thinking maybe
something like:

White Belt:  using Python as a calculator.  Naming objects for later use.
print("Hello World")

Yellow Belt:  installing Python, using an IDE.  str, int, if / elif / else;
loops
Some understanding of big picture use of __ribs__ (special names)
Writing functions, a reading knowledge of classes.  Some file i/o.

Orange:  generator functions and expressions, itertools and iter( )
Designing / writing classes.  Overloading such as __getitem__
or __setattr__  Full understanding of __call__ API i.e. **dict and
*sequence parameters.

Green:  decorators, context managers, descriptors, properties,
class and static methods using decorator syntax, better understanding
of MRO (method resolution order).

[ skipping Blue and Purple but adding more from collections module and
other standard library goodies ]

Brown:  numpy, pandas, web frameworks, more awareness of 3rd party
world, metaclasses

Black:  event loops, threading, multi-processing, concurrency, extending
Python in other languages (e.g. C)

Note that "Black" does not connote high level mastery so much as a
complete understanding with experience.   I.E. black belt = what's in
Fluent Python (the book).

To quote that martial arts site above:

Another common misbelief that needs to be clarified is the "black belt
as master" stereotype,. In reality, a black belt indicates the wearer
is competent in a style's basic technique....  and them come several
levels of "Black".

Kirby





>
> Juliano Fischer Naves
> Informatics Professor  - IFRO
> D.Sc. Student - IC/UFF/Brazil
>
<https://mail.python.org/mailman/listinfo/edu-sig>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/edu-sig/attachments/20160202/2f2df3ce/attachment.html>


More information about the Edu-sig mailing list