473,385 Members | 1,641 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

up to date books?

hi all. are there any recommendations for an intro book to python that
is up-to-date for the latest version?

would reading a book from a year or two ago cause me to miss much?

thanks!
Aug 18 '05 #1
22 1612
John Salerno wrote:
hi all. are there any recommendations for an intro book to python that
is up-to-date for the latest version?
I do not know how much up-to-date they are but I have to suggest you these
books:

- Learning Python
By Mark Lutz and David Ascher
published by O'Reilly
Most likely the best introductory book on Python

- Python Cookbook
By Alex Martelli and David Ascher
published by O'Reilly
By far the most useful book on Python after your first week of real use of
this language

Also, the fundamental
- Programming Python (the 2nd edition ONLY)
By Mark Lutz
published by O'Reilly
Is very useful for understanding the most inner details of Python
would reading a book from a year or two ago cause me to miss much?


No. Python did not changed too much since rel. 1.5. You can still use a book
published in 2001 as a introductory book (as I do). The changes are
exhaustively described both in the official documentation and in the very
fine "what's new in..." articles written by Andrew Kuchlin for every new
release (see www.python.org).

CU

-----------------------------------
Alessandro Bottoni
Aug 18 '05 #2
John Salerno wrote:
hi all. are there any recommendations for an intro book to python that
is up-to-date for the latest version?
It depends on what kind of books you like, and of course on your
previous experience.

I think "Python: Visual QuickStart Guide" by Chris Fehily is a rather
nice beginner's book, even if it's from 2001. It's also pretty cheap.
I don't have it at hand now, but I suspect that it doesn't cover new
style classes, generators, or list (or generator) comprehensions, but
it's still a good intro.

If you like a high density book, Alex Martelli's "Python in a Nutshell"
is great, and if you like to see a bunch of recipes, "Python Cookbook,
2nd ed" is good. The cookbook recipes are also on the net, but the book
does add value to them.
would reading a book from a year or two ago cause me to miss much?


Probably not. Most recent changes to Python, such as decorators, are
things that beginners might want to leave until later... New standard
modules, such as datetime, are covered in the standard library manual.
Aug 18 '05 #3
I would suggest Alex Martelli's "Python in a Nutshell" or the "Python
Cookbook" as the best Python books from Oreilly. I also like M.
Pilgrim's "Dive into Python".

Aug 18 '05 #4
Thanks for the great replies everyone! "Learning Python" was my first
choice, but it was also the reason I asked about older books, since it's
from 2003. But it seems that isn't an issue, and I think that would be a
nice place to start.

Just one more quick question: I'm basically learning programming for
fun, and I'm concentrating on C# right now. Python seems interesting,
but I was wondering if I should even bother. Would it supplement C# in
any way, or can C# do everything Python can?

Thanks,
John

John Salerno wrote:
hi all. are there any recommendations for an intro book to python that
is up-to-date for the latest version?

would reading a book from a year or two ago cause me to miss much?

thanks!

Aug 18 '05 #5
These all seem to be focused on Java though.
gene tani wrote:
Start here:

http://naeblis.cx/rtomayko/2004/12/1...c-method-thing
http://dirtsimple.org/2004/12/java-i...on-either.html
http://ischenko.blogspot.com/2005/02...after-all.html

and maybe poke around ehre to learn about language design, how people
define typing, etc
http://www.artima.com/

Aug 18 '05 #7
Also, are Python and Ruby similar languages? Which would be better to learn?
John Salerno wrote:
Thanks for the great replies everyone! "Learning Python" was my first
choice, but it was also the reason I asked about older books, since it's
from 2003. But it seems that isn't an issue, and I think that would be a
nice place to start.

Just one more quick question: I'm basically learning programming for
fun, and I'm concentrating on C# right now. Python seems interesting,
but I was wondering if I should even bother. Would it supplement C# in
any way, or can C# do everything Python can?

Thanks,
John

John Salerno wrote:
hi all. are there any recommendations for an intro book to python that
is up-to-date for the latest version?

would reading a book from a year or two ago cause me to miss much?

thanks!

Aug 18 '05 #8
well, it's not easy to find neutral comparisons of ruby and python, but
http://www.ruby-doc.org/RubyEyeForThePythonGuy.html
http://onestepback.org/index.cgi/Tec...onAndRuby.rdoc
http://www.approximity.com/ruby/Comp...st_m_java.html
http://reflectivesurface.com/weblog/...2/19/why-rails
http://martinfowler.com/bliki/Collec...ureMethod.html

Also, Hal Fulton's "Ruby Way" book has a good "Python vs. ruby syntax"
appendix, if it's still in print

Aug 18 '05 #9
Thanks. I understand that my question probably causes a lot of grief for
some people. :)

gene tani wrote:
well, it's not easy to find neutral comparisons of ruby and python, but
http://www.ruby-doc.org/RubyEyeForThePythonGuy.html
http://onestepback.org/index.cgi/Tec...onAndRuby.rdoc
http://www.approximity.com/ruby/Comp...st_m_java.html
http://reflectivesurface.com/weblog/...2/19/why-rails
http://martinfowler.com/bliki/Collec...ureMethod.html

Also, Hal Fulton's "Ruby Way" book has a good "Python vs. ruby syntax"
appendix, if it's still in print

Aug 18 '05 #10
John Salerno wrote:
...
Just one more quick question: I'm basically learning programming for
fun, and I'm concentrating on C# right now. Python seems interesting,
but I was wondering if I should even bother. Would it supplement C# in
any way, or can C# do everything Python can?


C# and Python are both Turing-complete (net of limitations to finite
amounts of storage, in the real world), so of course "they can do"
exactly the same things as each other in some pretty strong sense -- so
can machine language, Fortran, ...

Exactly because of this, this is hardly ever a sensible question to
ask. It clearly can be more _convenient and practical_ to "do some
thing" in C# than machine language, because C# is a higher-level
language than machine language, which increases your productivity (this
applies to most tasks, but for a few things, such as some
interrupt-response routines in embedded systems, machine language can
instead be vastly more practical and productive).

Similarly, Python is a higher-level language than C#, which further
increases your productivity (and again this applies to most tasks, but
for a few lower-level things C# may in fact be more practical and
productive).

Besides considerations connected to the language themselves, similar
issues (pushing the same way) apply to their implementations -- Python
vs C# as well as C# vs machine language. As far as I know, to deploy
C# applications you need a dotNet runtime (or perhaps a Mono runtime,
if you find it robust enough for your purposes); with machine language
you'd be restricted to a particular family of CPUs (or emulators
thereof, such as VirtualPC to emulate intel CPUs under MacOSX with
PowerPC CPUs). Similarly, with Python you can deploy on the same
runtimes as you can with C# (using the IronPython implementation, which
compiles Python to Microsoft CLR intermediate-code) -- but
alternatively you can deploy to JVMs (with the Jython implementation),
to a variety of architectures and OSs using a Python-dedicated
runtime/VM (with the classic, CPython implementation), to some Nokia
cellphones (Series 60 ones, I believe) using the Python runtime which
Nokia has developed and released, one day to the Parrot VM, etc, etc...
in practice, therefore, Python pervades more niches than C#, and thus
offers more practical deployment options, just like C# is more
pervasive and deployable than machine language. However, I believe the
language-level (and therefore programmer-productivity) issue will be
even more important in most cases.
Alex

Aug 18 '05 #11
Thank you very much for that response!

al*****@gmail.com wrote:
John Salerno wrote:
...
Just one more quick question: I'm basically learning programming for
fun, and I'm concentrating on C# right now. Python seems interesting,
but I was wondering if I should even bother. Would it supplement C# in
any way, or can C# do everything Python can?

C# and Python are both Turing-complete (net of limitations to finite
amounts of storage, in the real world), so of course "they can do"
exactly the same things as each other in some pretty strong sense -- so
can machine language, Fortran, ...

Exactly because of this, this is hardly ever a sensible question to
ask. It clearly can be more _convenient and practical_ to "do some
thing" in C# than machine language, because C# is a higher-level
language than machine language, which increases your productivity (this
applies to most tasks, but for a few things, such as some
interrupt-response routines in embedded systems, machine language can
instead be vastly more practical and productive).

Similarly, Python is a higher-level language than C#, which further
increases your productivity (and again this applies to most tasks, but
for a few lower-level things C# may in fact be more practical and
productive).

Besides considerations connected to the language themselves, similar
issues (pushing the same way) apply to their implementations -- Python
vs C# as well as C# vs machine language. As far as I know, to deploy
C# applications you need a dotNet runtime (or perhaps a Mono runtime,
if you find it robust enough for your purposes); with machine language
you'd be restricted to a particular family of CPUs (or emulators
thereof, such as VirtualPC to emulate intel CPUs under MacOSX with
PowerPC CPUs). Similarly, with Python you can deploy on the same
runtimes as you can with C# (using the IronPython implementation, which
compiles Python to Microsoft CLR intermediate-code) -- but
alternatively you can deploy to JVMs (with the Jython implementation),
to a variety of architectures and OSs using a Python-dedicated
runtime/VM (with the classic, CPython implementation), to some Nokia
cellphones (Series 60 ones, I believe) using the Python runtime which
Nokia has developed and released, one day to the Parrot VM, etc, etc...
in practice, therefore, Python pervades more niches than C#, and thus
offers more practical deployment options, just like C# is more
pervasive and deployable than machine language. However, I believe the
language-level (and therefore programmer-productivity) issue will be
even more important in most cases.
Alex

Aug 18 '05 #12
Alessandro Bottoni wrote:


Python did not changed too much since rel. 1.5.


I presume by "too much" you mean "very much" rather than "inordinately"
or "excessively".

IMHO the addition of[list off the top of my head] string methods,
Unicode, new-style classes, generators, list comprehensions, etc etc
since 1.5 would indicate that pointing a newbie at an old book would not
be such a good idea.

Aug 18 '05 #13
John Salerno wrote:
Also, are Python and Ruby similar languages? Which would be better to learn?

<IMHO>

Knowing both, they are very similar. Python seems to be more mature and
has better support. Threading is easier in Ruby, while Python is more
intuitive across the board.

I really like both, but it seems that you really can do more, easily,
with Python. Very recently I was all about Ruby, then I rediscovered
Python. It's really quite brilliant.

</IMHO>
Aug 18 '05 #14
John Salerno wrote:
Also, are Python and Ruby similar languages? Which would be better to learn?

<IMHO>

Knowing both, they are very similar. Python seems to be more mature and
has better support. Threading is easier in Ruby, while Python is more
intuitive across the board.

I really like both, but it seems that you really can do more, easily,
with Python. Very recently I was all about Ruby, then I rediscovered
Python. It's really quite brilliant.

</IMHO>

Aug 18 '05 #15
John Salerno wrote:
These all seem to be focused on Java though. I think C# is close enough to Java when it comes
to the issues discussed here, that you can read
the texts and more or less think C# when you read
Java...
gene tani wrote:
Start here:

http://naeblis.cx/rtomayko/2004/12/1...c-method-thing
http://dirtsimple.org/2004/12/java-i...on-either.html
http://ischenko.blogspot.com/2005/02...after-all.html
and maybe poke around ehre to learn about language design, how people
define typing, etc
http://www.artima.com/

Aug 19 '05 #16
John Salerno wrote:
Just one more quick question: I'm basically learning programming for
fun, and I'm concentrating on C# right now. Python seems interesting,
but I was wondering if I should even bother. Would it supplement C# in
any way, or can C# do everything Python can?


Python is an excellent tool in any programmers toolbox. No one language
is ideal for every task, but Python very often provides a more rapid
solution to your problem than other languages do. Particularly for small
problems. It's common to use Python to solve a problem in 3 minutes that
would take 10 or 30 minutes to solve in some other way. It's also great
for building something in 3 man-months instead of 3 man-years, but you
need more time to verify that claim! ;^)

If you need a GUI for some simple task, it might often be more
convenient to use something like Excel or VB. I haven't used MS's C#
environment, so I can't compare with that, but it's often just a bad
habit to build captive user interfaces for every task we want to solve.
It certainly makes it much more difficult to make modular and reusable
software. Most Python programs I write work both as standalone programs
and as modules that other programs can use. This versatility basically
costs one line of code.

If I was a professional C# developer, I'm pretty sure I'd use Python
quite a bit. As a professional C++ programmer and database developer,
I've used Python to manage tests, find and repair broken data in
mission critical production systems, automate database administration
tasks such as upgrading multiple databases, extracting, converting and
copying data, create database reports, post-process generated source
code, analyze large software systems and databases etc etc.

Actually, during seven years as an independent consultant, I found good
use for Python with every client.
Aug 19 '05 #17
On Thu, 18 Aug 2005 11:58:23 +0200, Magnus Lycka <ly***@carmen.se> wrote:
John Salerno wrote:
hi all. are there any recommendations for an intro book to python that
is up-to-date for the latest version?
It depends on what kind of books you like, and of course on your
previous experience.

.... If you like a high density book, Alex Martelli's "Python in a Nutshell"
is great,
That one is my first choice. FYI, it is based on Python 2.2, but discusses
most (all?) interesting 2.3 features too. That has been very acceptable to
me.

I wouldn't buy a book that didn't discuss 'yield' or list comprehensions.
Probably not. Most recent changes to Python, such as decorators, are
things that beginners might want to leave until later... New standard
modules, such as datetime, are covered in the standard library manual.


Exactly.

/Jorgen

--
// Jorgen Grahn <jgrahn@ Ph'nglui mglw'nafh Cthulhu
\X/ algonet.se> R'lyeh wgah'nagl fhtagn!
Aug 20 '05 #18
On Fri, 19 Aug 2005 14:25:36 +0200, Magnus Lycka <ly***@carmen.se> wrote:
John Salerno wrote:
Just one more quick question: I'm basically learning programming for
fun, and I'm concentrating on C# right now. Python seems interesting,
but I was wondering if I should even bother. Would it supplement C# in
any way, or can C# do everything Python can?
Python is an excellent tool in any programmers toolbox. [...]

.... If I was a professional C# developer, I'm pretty sure I'd use Python
quite a bit. As a professional C++ programmer and database developer,
I've used Python to manage tests, find and repair broken data in
mission critical production systems, [...]
Actually, during seven years as an independent consultant, I found good
use for Python with every client.


Same here. Python is also a language that organizations and bosses tend to,
increasingly, accept as a "real language" in which "real programs" can be
written. Sometimes perceptions matter.

One more positive thing about Python, as compared to C#, is that it isn't
tied to a specific manufacturer or environment. That may not matter
short-term, but in the long run, it may be crucial for the program
-- and for the programmer.

/Jorgen

--
// Jorgen Grahn <jgrahn@ Ph'nglui mglw'nafh Cthulhu
\X/ algonet.se> R'lyeh wgah'nagl fhtagn!
Aug 20 '05 #19
Glad to hear that my efforts to cover some of 2.3's release features in
a mostly-2.2 book were appreciated. I'm probably going to do the same
thing for the 2nd edition of the Nutshell: wait until 2.5 alpha's out
so I can mention _its_ feechurz in a mostly-2.4 book... meaning the 2nd
ed of the Nutshell may be almost a year away...
Alex

Aug 23 '05 #20
One of my most popular talks is "re-learning Python" -- can be anywhere
between 1 and 4 hours, depending on level of detail -- it's all about
the changes 1.5.2 -> today's Python, why they came about and why you
would want to use them...
Alex

Aug 23 '05 #21
al*****@gmail.com wrote:
One of my most popular talks is "re-learning Python" -- can be anywhere
between 1 and 4 hours, depending on level of detail -- it's all about
the changes 1.5.2 -> today's Python, why they came about and why you
would want to use them...
Alex

PyCon TX 2006?

regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC http://www.holdenweb.com/

Aug 23 '05 #22
Would you consider releasing an ebook in the mean time?

al*****@gmail.com wrote:
Glad to hear that my efforts to cover some of 2.3's release features in
a mostly-2.2 book were appreciated. I'm probably going to do the same
thing for the 2nd edition of the Nutshell: wait until 2.5 alpha's out
so I can mention _its_ feechurz in a mostly-2.4 book... meaning the 2nd
ed of the Nutshell may be almost a year away...
Alex

--
Regards,
Casey
Aug 23 '05 #23

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

9
by: Thomas R. Hummel | last post by:
Hello, I am importing data that lists rates for particular coverages for a particular period of time. Unfortunately, the data source isn't very clean. I've come up with some rules that I think...
14
by: dananrg | last post by:
Been using the ODBC module for Python 2.1 (Win32) and had another question. When I return data from date columns, it's in a strange object form, e.g. <something or other> (don't have the output in...
3
by: Larry Bertolini | last post by:
For some reason, I recall having read that SQL Server 2005 would support a datatype that represented date, but not time. (This would be useful for storing things like birthday, where you usually...
13
by: Jim Armstrong | last post by:
Hi all - This problem has been driving me crazy, and I'm hoping the answer is something stupid I am neglecting to see.... The procedure posted below is part of an Access/SQL database I have...
2
by: wgblackmon | last post by:
Hi, I have a parameter that is being input as a String via Crystal Reports. It's called 'School Year' and a typical value is '2006'. I need to be able to create a 'Date' that is compared to a...
2
by: drurjen | last post by:
Good morning. I am importing an XLS file into one of my tables. The fields are: Date Id Time IO 12/22/2006 2 12:48:45 PM 9 12/22/2006 16 5:40:55 AM 1 12/22/2006 16 12:03:59 PM 2 ...
9
by: ice | last post by:
Hello, I have a couple of tables. The client tables and the contacted tables. I am not sure how to start on this, what I need is a way to query all my clients then show any client that the...
2
by: MackTheKnife | last post by:
Hi, I'm trying to write a java.sql.Date to a database and the minutes/ seconds etc. are not being written. I've seen and tested many examples found via searches and still have come up with...
1
by: Maciej07 | last post by:
Hello, We are using SQL server 2000 on W2k Server and MS Access 2000 ADP (like front-end). Now we try to change operating system for SQL Server 2000 from W2k to W2k3 and we found problem with...
5
by: Artie | last post by:
Hi, I have a date field stored as an INT and need to convert to a date format mm/dd/yyyy. I'm having trouble determining what the starting date is. min(date) = 730395 max(date) = 733189 ...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.