Observation on "Core Python Programming"
Nick Vatamaniuc
vatamane at gmail.com
Sun Oct 29 15:02:41 EST 2006
I would consider that an omission. Functions are very important in
Python. I think the user/reader should see the _def_ and _class_
statement fairly soon in the introduction. The name of the book is
thus somewhat misleading, because functions are at the "core" of
Python.
Functions should be right there with the integers, strings, files,
lists and dictionaries. Another important point to stress, in my
opinion, is that functions are first-class objects. In other words
functions can be passes around just like strings and numbers!
-Nick Vatamaniuc
John Coleman wrote:
> Greetings,
> My copy of the second edition of Chun's "Core Python Programming"
> just arrived from Amazon on Friday. What really jumped out at me is an
> interesting feature about how it sequences its topics, namely,
> (user-defined) functions are not introduced until chapter 11, fully 400
> pages into the book. This contrasts strongly with a traditional
> "Introduction to language X" book which has a chapter sequence roughy
> like:
>
> Chapter 1) Intro - Hello World
> Chapter 2) Variables
> Chapter 3) If, if-else
> Chapter 4) Loops
> Chapter 5) Functions and/or subroutines
>
> The exact details vary from book to book and language to language of
> course, but usually the above topics are covered in the first 100-150
> pages since it is hard to do anything interesting until all of these
> tools are under your belt. Chun's book by contrast is able, on the
> strength of Python's built-in functions, to cover a fair amount of
> relatively interesting things (dictionaries, file IO, exception
> handling, etc.) before introducing user-defined functions.
>
> I don't want to read too much into this, but the mere fact that it is
> possible to write a Python book in this fashion seems to confirm the
> "batteries are included" philosophy of Python. Perhaps there is less
> need to learn how to roll your own batteries as soon as possible.
>
> -John Coleman
More information about the Python-list
mailing list