I can code in Python (strong beginner), and would like to read more
books and/or online resources.
Could someone please point out any good books, websites, tutorials etc
to help me get to the next level.
Your help && insight highly appreciated :)
Stuart
Search this list's archives. This kind of thing has been discussed a thousand times.
It also wouldn't hurt to brush up on this:
http://catb.org/~esr/faqs/smart-questions.html
Heh... I've seen that link mentioned many many times on some other
lists I belong to :) But I agree. HOWEVER, that is a valid question.
BUT, the answer is really up to the person asking it.
For example, I too am a relative beginner with Python. Luckily I DO
have at least an educational background in OOP, and at least a
professional background in basic coding (some perl, BASH, etc). So I
do tend to rely a lot on google when I run into a snag, THEN if that
doesn't work, I come here with specific questions.
FWIW, my Google searches always look something like "python <what I'm
searching for>" and 99% of the time, that gives me the answers I seek.
That being said, however, I also am somewhat old school and prefer to
have hard copy at hand too. Sometimes, it's just that much more
satisfying to have a physical book handy to look things up in. Maybe
it's a comfort thing, I don't know...
So in that vein, while I can't suggest any specific books, I can say
this... right now, I have a copy of O'Reilly's Learning Python that I
use as a reference, as well as a much older copy of the Python 2.1
Bible that I picked up almost a decade ago now the first time I messed
around with Python.
My personal preference, while searching Google and asking on lists
like this is quick and invaluable for the "real world" knowledge that
is shared, is to also have A: something along the lines of the
Learning Foo books from O'Reilly because they tend to have lengthy
explanations that I usually can understand on my own, and B: some sort
of Cookbook on the topic at hand. I haven't found a Python cookbook
that I like enough to buy yet, but I'm still looking. Those come in
handy for simple snippets and examples when doing specific tasks.
So yeah, Google and this list are certainly invaluable, but some of us
actually like having the heft of a lofty tome to peruse for the
answers to the mysteries of the universe.
Cheers
Jeff
--
Charles de Gaulle - "The better I get to know men, the more I find
myself loving dogs." -
http://www.brainyquote.com/quotes/authors/c/charles_de_gaulle.html
Since the OP says he is at least familiar with Python, does he need
info on beginner level books that are general purpose, or is he
interested in resources that are more specific (e.g. geared toward web
programming, mathematical analysis, data modeling, etc)....
My suggestions were meant just as an example of what I use in the
course of learning something at the basic and intermediate level, once
it goes beyond that, it's useful to know WHAT you intend to do so you
can find the right resources to go in that direction.
Just want to make sure I am not misunderstood or anything :-)
For what it's worth, I also tend to collect technical books for some
reason... My wife is just barely tolerant of my bookshelf full of
things on various computer topics, astronomy, photography, radio and
antenna theory and so forth ;-) I just let her keep her shoe
collection, and we have a quid pro quo.
Cheers
Jeff
--
Mike Ditka - "If God had wanted man to play soccer, he wouldn't have
given us arms." -
http://www.brainyquote.com/quotes/authors/m/mike_ditka.html
Thanks J for your reply, much appreciated :)
Oops, vague OP, my bad.
Agreed, Google turns up myriad of topical books, and ESR's guide to
smart questions [1] helps set the pace of list culture. I subscribe to
various list servers, on one of them we gracefully accept that a
question like my OP is looking for opinion on a matter, which I now
understand would be a list's sub-culture?
Anyways, to rephrase, could someone kindly mention any of their
preferred Python books, websites, tutorials etc to help me get to an
intermediate/advanced level? Something that would help me add
functionality to Ubiquity, say.
Have a great day!
Stu@
> Anyways, to rephrase, could someone kindly mention any of their
> preferred Python books, websites, tutorials etc to help me get
> to an intermediate/advanced level? Something that would help me
> add functionality to Ubiquity, say.
Have a look at the Getting Started section of the wiki:
specially the PythonBooks section
--
Gabriel Genellina
Perfect! Exactly what I'm looking for :)
Thanks Gabriel!
It's good, if you can ignore the "These People Are Very Important
Hacker Gods, Not Mere Mortals" subtext.
...
> Anyways, to rephrase, could someone kindly mention any of their
> preferred Python books, websites, tutorials etc to help me get to an
> intermediate/advanced level? Something that would help me add
> functionality to Ubiquity, say.
I may be alone in this, but Alex Martelli's book ("Python in a
nutshell"?) on Python 2.2 and a bit of 2.3, plus the official
documentation, plus this group, is all I think I need.
But I had a lot of Unix, C, C++ and Perl experience to help me.
/Jorgen
--
// Jorgen Grahn <grahn@ Oo o. . .
\X/ snipabacken.se> O o .
1) Hans Petter Langtangen: Python Scripting for Computational Science
A truly excellent book, not only with respect to Python Scripting , but
also on how to avoid paying license fees by using opensource tools as
an engineer ( plotting, graphing, gui dev etc ). Very good , pratical
introduction to Python with careful and non-trivial examples and exercises.
2) There is a book at Apress on using Python and matplotlib ( amongst
other ) "Beginning Python Visualization" which is not as comprehensive
as reference 1) but useful , especially for beginners who wants to
visualize data from an engineers background
3) "Programming for the semantic web" Oreilly is a very pratical and
interesting guide to things like OWL, triplestore, logic, reasoning,
data mining and it is amongst the very few books on these topics I have
seen that has working code examples
4) "Natural language priocessing with Python " Oreilly is also a
pratical book with lots of working code if you are interested in data
mining, text searching and natural language tasks. It is based on a
rather large opensource library for natural language processing ( sorry
forgot the exact name,but easy to find on the net)
All these book make you feel warm and confortable if you have ever tried
to do these things in Perl, C++ or Java
Peter
> [...] depending on your
> application domain, I liked:
>
> 1) Hans Petter Langtangen: Python Scripting for Computational Science
> A truly excellent book, not only with respect to Python Scripting , but
> also on how to avoid paying license fees by using opensource tools as
> an engineer ( plotting, graphing, gui dev etc ). Very good , pratical
> introduction to Python with careful and non-trivial examples and exercises.
Sounds good.
Regarding the book's title: is it just me, or are Python programmers
in general put off when people call it "scripting"?
I won't attempt a strict definition of the term "scripting language",
but it seems like non-programmers use it to mean "less scary than what
you might think of as programming", while programmers interpret it as
"not useful as a general-purpose language".
I dunno... I consider it programming when I'm writing bash scripts.
Same with running python scripts.
My personal take on it, so YMMV, is that scripting is just a synonym
for programming an interpreted language, as opposed to programming
(common parlance) which is usually meant writing code for a compiled
language (C, C++, VB, etc...)
Then again, I also tend to use scripting, coding and programming
interchangeably too.
And sometimes scripting = just writing a quick and dirty program to do
a small task, programming = writing something much larger for long
term use.
Either way, I'm not offended by any of those terms as they all involve
programming, regardless of whether or not someone actually calls it
programming.
For another analogy, what do they call Chinese food in China? Food.
Cheers
Jeff
--
Ted Turner - "Sports is like a war without the killing." -
http://www.brainyquote.com/quotes/authors/t/ted_turner.html
You don't need to create a project, just put the code into a file and
then run it.
I find Python extremly useful as a general purpose language ( its
clearly now my prefered one ) and I find it equally useful to develop
toy apps in C++, Haskell and Lisp, just to better appreciate the idea of
"general purpose".
For me, it has turned out that the point is not "scripting versus not
scripting" or "static versus dynamic typing" but having automatic
unittests or not having automatic unittests. My most important module is
"nose" for running unittests the easy way.
Peter
> Regarding the book's title: is it just me, or are Python programmers
> in general put off when people call it "scripting"?
The term “script” for a Python program is part of the official
terminology, so those who would be put off by that term have to at least
contend with that fact.
I refer to such things as “programs”, whatever language they're written
in, since “script” does seem to have derogatory connotations. I don't
get particularly off-put either way.
--
\ “He was the mildest-mannered man / That ever scuttled ship or |
`\ cut a throat.” —“Lord” George Gordon Noel Byron, _Don Juan_ |
_o__) |
Ben Finney
> Regarding the book's title: is it just me, or are Python programmers
> in general put off when people call it "scripting"?
>
> I won't attempt a strict definition of the term "scripting language",
> but it seems like non-programmers use it to mean "less scary than what
> you might think of as programming", while programmers interpret it as
> "not useful as a general-purpose language".
For me "scripting" means something like "task automation within a given
program or environment", in contrast to "wring a stand-alone program".
Florian
--
<http://www.florian-diesch.de/software/easygconf/>
Before buying a book or making a terribly large investment, OP should
consider the fact that Python 3 is out and gaining some popularity.
I think if you can get Python to run fast (compared to compiled languages),
then that's scripting (ie. just using it to sequence lots of built-in
functions and operations).
If it runs a lot slower than those other languages, then you're probably
doing some programming.
And with programs where the runtime is not significant, it could be
either...
--
Bartc