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! 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
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.
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".
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!
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!
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
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
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.
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>
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>
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.
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!
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!
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
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 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/
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 This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
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...
|
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...
|
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...
|
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...
|
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...
|
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
...
|
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...
|
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...
|
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...
|
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
...
|
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...
|
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...
|
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,...
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
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$) {
}
...
|
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...
|
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...
|
by: nemocccc |
last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
|
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...
| |