Learning Python, 2nd Edition
Python is a dynamic, interpreted, object oriented language used for both scripting and systems programming. Python is known for being easy to learn and use, while also being powerful enough to be used for such projects as Zope and the Chandler project. Its growing popularity is also based on its reputation for fostering programmer productivity and program maintainability. One drawback sometime cited is its relatively slow execution speed compared to compiled languages such as C.
For myself, I have probably read too many books about Python, but that is because I am an amateur hacker who learns programming slowly, and I find that reading several books about the same topic, covering the subject matter from different angles, allows me to better absorb the material. For me, this was a good review of the core language and a welcome refresher course on the newer aspects introduced in versions 2.2 and 2.3. For anyone who is new to Python and wants to learn from the ground up, this book would be a great place to start.
Mark Lutz is an authority on Python and one if its leading teachers, with both Learning and O'Reilly's Programming Python to his credit, as well as the courses and seminars he teaches professionally. In updating the original version, which was already very good, Mark has polished the chapters on the core language to a nearly perfect level, while his co-author David Ascher has done the same on the more advanced aspects of the book. In addition, Mr Lutz has benefited from extensive feedback from students and readers, and his explanations therefore anticipate common misunderstandings. Each chapter is accompanied by a problem and exercise section and answers are included at the back of the book.
A major addition to the new edition is a chapter on "Advanced Function Topics," including list comprehensions, generators and iterators. Python is sometimes used with a functional programing style almost similar to Lisp, although to List purists that may sound like heresy. The recent versions of the language have significantly upgraded Python's support for the functional style. Functions cover three chapters in the 2nd edition instead of just one.
Another major change since the first edition is extended coverage of Modules, which now occupies four chapter instead of just one. Python modules are a high level package structure for code and data, and they help facilitate code reuse. Yet another addition is coverage of Python's "new style classes." Coverage of classes and object oriented programming has been greatly expanded and now includes five whole chapters and almost 100 pages. Coverage of exceptions now is expanded to three chapters.
If you have been considering learning Python, now would be a great time since this new book is the perfect introductory text. If you already know Python and have read the first edition of Learning Python or another introductory text, then this book may not be essential since the new language features are covered pretty well on the web in various places, and you might be better advised to read one of the other fine books on non-introductory aspects of Python. But this book is about as good an introduction to the language as you are likely to find. The book does not cover all of the Python libraries nor many other topics, but it does briefly touch on the major libraries, frameworks, gui toolkits, and community resources.
If you want to learn the core Python language quickly, this may be your best bet. Learning Python only covers the basics, but it is deep in information on what it does cover. Well written, understandable, and in a very logical arrangement, this book is densely packed with info.
I have often found myself returning to the original book, and the new book will now fill this role. It is deep in information, well written, and a joy to read. For an experienced programmer who is just learning Python, it may be possible to thoroughly learn everything about the core language in one reading of this book. For relative newbies, it will be an often-used resource.
To read more reviews of books about Python, visit the Python Learning Foundation. You can purchase the Learning Python, 2nd Ed. from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Which is it Slashdot? Your opinion matters! (not really)
darryl loves my cock
...are for rank amateurs, and there's no two ways about it! They are inelegant and clumsy languages that are only used by unsophisticated, lazy, self-titled "developers" who don't understand Unix as well as they would have us or their employers believe.
There is nothing, and I do mean NOTHING that a real Unix professional can do with Python or Perl that he or she can't do with awk, sed, and grep.
Any argument to the contrary would not only expose your own inadequacies as a Unix programmer, but would also perpetuate the myth that, as Microsoft also argues, bloated, "feature-rich" languages are ideal for business application. I submit that such an argument would be itself an attack on the very concept of open source software.
There's a Mercedes gap too. I want one and can't afford one, but it's not government's job to do anything about it.
they both have the same crazed look in the eyes and the nutty mannerisms--Scary
No bad if you like PooP
wack
I took some of the suggestions from my last thread to heart and modified my system's RAM, video card, and operating system. After a grand total of $700 and the last week of my time she's fighting a little harder than last round. The current specs are as follows:
The FreeBSD 5.1 kernel was compiled with support for both of my CPUs and optimizations for the Pro specifically and its cache. I am running KDE 3.1 and can't complain about the speed at all it's much greater than Windows XP ever was. I have been in touch with a FreeBSD hacker who ensured my decision to move to this operating system instead of Linux was the way to go. The SMP and virtual memory subsystems in the FreeBSD kernel are much more efficient than either Windows or Linux. FreeBSD cost me nothing to install and only took a little time to compile the proper kernel.
The four 256 MB chips cost $410 after tax and shipping/handling. Considering the RAM alone, performance is not what I would call a 2x increase over the 512 MB, but overall it did augment my system. The output below from a FreeBSD utility called top illustrates this. One thing I want to try is ECC RAM. It's 72-bit vs. non-ECC RAM which is 64-bit, and I think that switching my gigabyte of non-ECC RAM for ECC chips will give me more memory bandwidth and ergo the performance I was expecting in installing another 512 MB.
Redraws are faster and I now have a vast array of bit-depths and monitor resolutions with my new Radeon 9200. I also went out and bought a 21" CRT monitor so I could enjoy a larger desktop without going blind. Though the 9200 has done little to affect overall system performance, I appreciate what it does for my graphics. In the very least any games for FreeBSD will fly 4x faster than before: The 9200 has 128 MB RAM where my Rage only had 32 MB. I'm happy with this addition to my system especially since I got a $20 rebate off of the $200 I paid for it.
Aside from these tweaks my system remains the same. I can not boost the bus clock above 66 MHz. My 100 GB hard drive, due to BIOS limitations, is partitioned into several 16 GB slices. (I wonder if anyone knows of any BIOS hacks to overcome this limitation.) I believe I may finally be pushing the limits of my system's hardware and am looking at ways to optimize my operating system. Supposedly FreeBSD 5.2 is in beta now, and I've heard good things about something called QNX. Here's to any more suggestions to eek all of the power out of my dual Pentium Pro system.
See here:
http://osnews.com/story.php?news_id=5602
C# is the second fastest language in their benchmarks, only trumped by C++, and it is an interpreted language. So your logic falls apart.
Python scores some pretty abysmal benchmarks compared to all the other languages, including Java. So I'd say, it's just slow.
More reviews of this book can be found here.