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
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
> 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.
have you read the book?
</F>
Chun does emphasize the first-class status of functions in Python -
something which is fairly important to me since I have dabbled on and
off with functional programming the last few years (mostly SML) and am
interested in seeing the extend to which Python is genuinely
"multi-paradigm" - able to blend the functional and imperative (and OO)
paradigms together.
-John Coleman
I don't normally read programming books -- just use the chapters that I
need when I need them, unless of course there is a clever plot twist
coming up ahead (for ex.: "Next: The revenge of lambdas. Will they
stay or will they go?" ;-)
Why? Have you read it from beginning to end. What did you think about
functions being introduced later than files and exceptions?
-Nick V.
I really like this book. I really, really, really like it.
Ron Stephens
Pages 48-50 is a section titled: 'Functions' and he gives both a top
level description and example. True he does not have a chapter devoted
to functions still page 400, but he does give examples of usage along
the way.
david lees
>
Who would you say the book is aimed at? Advanced programmers? I thought
about getting it, but I'm not sure if it will be either 1) too much
repetition of the basics I've already learned (which isn't necessarily a
bad thing), or 2) too advanced for me right now.
Thanks.
It strikes me as being aimed at intermediate programmers who don't have
much familiarity with Python. I bought it since my only other book on
Python ("Learning Python" by Lutz) is somewhat dated now and because I
find that I'm a slow learner and it usually takes me a couple of books
by independent authors to "get" a language. The publisher's page is
more informative than what you see on Amazon. You can see the table of
contents and read a sample chapter there to help you decide if the book
is for you:
http://vig.prenhall.com/catalog/academic/product/1,4096,0130260363,00.html
HTH
-John Coleman
I just realized that I gave the link to the first edition site. The
second edition site doesn't give a sample chapter (but does give the
complete preface) and still provides a good feel for the book:
http://vig.prenhall.com/catalog/academic/product/0,1144,0132269937,00.html
Sorry for any confusion
-John Coleman
Thanks very much.
thanks to those above for the kind remarks. tackling comments
and questions, not quite in chronological order. :-)
> Who would you say the book is aimed at? Advanced programmers?
this book is targeted towards technical professionals already
literate in another high-level language who wants to pick up
Python as quickly as possible. it is not a topical coverage
of a programming language's features. you know how after
learning a new language, it takes a few months to really "feel
comfortable" enough to *not* pick up a book in order to commence
writing code? my goal is to reduce that time period while
provide the reader a comprehensive understanding of how the
standard types work, esp. in their relationship to Python's
memory model. it is my belief that a solid foundation here
will reduce or eliminate any potential bugs you would've
written had you read a more conventional introductory text.
> 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.
i guess i found this post quite interesting because there is
such a focus on "what should be introduced when." the purpose
of chapter 2 (getting started) is to proxy for the standard
"introduction to programming X" book. if you read it, you
should be able to "get started in Python" immediately. you
have enough info on functions to start coding and probably
don't need var args, decorators, or any of that stuff yet. the
chapter on functions occur later because most of the time, what
we've shown you in "getting started" is enough to, ummm..., get
you started, and that all successive chapters are meant to dive
more deeply into each area.
> 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.
this is definitely one of the hallmarks of the language. the
current user base already knows this... it's just more difficult
to get this out there to the general programming populus, esp.
when there are already so many languages starting with "P". :-)
> The revenge of lambdas. Will they stay or will they go?" ;-)
they will stay. ;-)
> am interested in seeing the extend to which Python is genuinely
> "multi-paradigm" - able to blend the functional and imperative
> (and OO) paradigms together.
this comes from guido himself. he "wants you to be able to see
the forest through the trees." i see Python as a "greatest hits"
of many computer programming languages. for our benefit, he's
given us the best stuff.
> I cant' exactly figure out why yet, but he has a way of explaining
> something, like, say, decorators, that in minimal words elucidates
> for me the intent behind why they are useful. That helps me
> understand how they work.
"Python fits your brain." (bruce eckel) i don't see why python
should have a monopoly on your brain. i want me share too. ;-)
the thing that makes writing a pleasurable is when the language
has so much to offer. i use this book in teaching my python
courses, and the book mirrors my lecturing style. i suppose that
rather than a dry college textbook, i'd rather write in a way as
if i was having a conversation with you, or if you were actually
sitting there attending one of my courses. readers (as well as
course attendees) have remarked how questions they may come up
with as they are learning a topic are answered in the next section
or chapter (or 3-4 presentation slides) as the case may be.
> The second edition site doesn't give a sample chapter (but
> does give the complete preface)
ahhh, the secret here is that you need to look in the right place.
"prentice hall"s web page doesn't have it, but PHPTR's does, even
if they are the same publishing house. for some reason, we've got
the featured book of the month!! just go to http://phptr.com and
click the book's link there. you'll find:
- book's description
- table of contents
- preface
- sample chapter (getting started, chapter 2!)
- index
the last three are in PDF format. if for some reason, october
ends and it's gone from the front page, here is a direct link:
http://phptr.com/title/0132269937
thanks to everyone for their support, esp. my excellent technical
reviewers for keeping me honest! please send comments, suggestions,
corrections, and other feedback to me. i am happy to hear about any
issues you find in the book -- everything. it doesn't matter if it
is the smallest grammatical edit, errors in the code, or just plain
wrong or misleading information. don't believe everything you read!
(sometimes writing at 2, 3, and 4a in the morning does something to
your writing when you're trying to tackle a publisher's deadlines.)
keep checking the book's errata page at http://corepython.com
all book correspondence should go to corepython at yahoo dot com.
cheers!
-- wesley
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
"Core Python Programming", Prentice Hall, (c)2007,2001
http://corepython.com
wesley.j.chun :: wescpy-at-gmail.com
python training and technical consulting
cyberweb.consulting : silicon valley, ca
http://cyberwebconsulting.com