- Paperback: 400 pages
- Publisher: Manning Publications; 2nd edition (January 15, 2010)
- Language: English
- ISBN-10: 193518220X
- ISBN-13: 978-1935182207
- Product Dimensions: 7.4 x 0.7 x 9.2 inches
- Shipping Weight: 1.3 pounds (View shipping rates and policies)
- Average Customer Review: 57 customer reviews
- Amazon Best Sellers Rank: #209,002 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
The Quick Python Book, Second Edition 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
There is a newer edition of this item:
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
From the Publisher
From the Preface
I’ve been coding in Python for a number of years, longer than any other language I’ve ever used. I use Python for system administration, for web applications, for database management, and sometimes just to help myself think clearly.
To be honest, I’m sometimes a little surprised that Python has worn so well. Based on my earlier experience, I would have expected that by now some other language would have come along that was faster, cooler, sexier, whatever. Indeed, other languages have come along, but none that helped me do what I needed to do quite as effectively as Python. In fact, the more I use Python and the more I understand it, the more I feel the quality of my programming improve and mature.
This is a second edition, and my mantra in updating has been, If it ain’t broke, don’t fix it'. Much of the content has been freshened for Python 3 but is largely as written in the first edition. Of course, the world of Python has changed since Python 1.5, so in several places I’ve had to make significant changes or add new material. On those occasions I’ve done my best to make the new material compatible with the clear and low-key style of the original.
For me, the aim of this book is to share the positive experiences I’ve gotten from coding in Python by introducing people to Python 3, the latest and, in my opinion, the best version of Python to date. May your journey be as satisfying as mine has been.
Who Should Read This Book
This book is intended for people who already have experience in one or more programming languages and want to learn the basics of Python 3 as quickly and directly as possible. Although some basic concepts are covered, there’s no attempt to teach basic programming skills in this book, and the basic concepts of flow control, OOP, file access, exception handling, and the like are assumed. This book may also be of use to users of earlier versions of Python who want a concise reference for Python 3.
About the Author
Naomi Ceder has been programming in various languages for over 20 years and has been a Linux system administrator since 2000. She started using Python for a variety of projects in 2001 and is an elected member of the Python Software Foundation. Naomi is the IT Director/Lead Developer for Zoro Tools, Inc of Buffalo Grove, Illinois, and is also an organizer of the Chicago Python Workshop and the CLC Linux Club. An advocate for open software and open content, Naomi gives talks to whoever will listen on Python and the benefits of teaching programming, particularly in schools.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
Most Python texts out there describe Python 2.x, so this book's main competition is: a) Mark Summerfield's "Programming in Python 3: A complete introduction to the Python Language, Second Edition", and b) Mark Pilgrim's "Dive into Python 3", while two other major books have incorporated material on Python 3, namely c) James Payne's "Beginning Python: Using Python 2.6 and Python 3.1" and d) Mark Lutz's "Learning Python: Powerful Object-Oriented Programming, 4th Edition".
The Good: this book is nice and short. It assumes a certain level of competence/background, so it does not waste space introducing the language-independent basics of flow control, object orientation, exception handling, and so on. It is example-based, and unlike in Pilgrim's volume the first few examples are short and thus readable. Chapter 3 ("The Quick Python overview") can be used as a compact reference when you're done reading the book, and various tables throughout the book help it function as a reference. Unlike its competition, it doesn't spend chapter upon chapter on databases, networking, or web applications. Instead, such topics are covered in only one (short) chapter at the end of the book. Ceder offers useful advice on the interrelation between older and newer Python features, whether discussing how to be more idiomatic (e.g. in chapter 6 on the format method vs % formatting, and in chapter 14 when introducing the "with" statement) or how to migrate from Python 2 to Python 3 (he devotes chapter 22 to this topic). On the publisher's website you can find a list of errata as well as the complete source code for the book. There you will see a link to an "Author online" forum in which you can interact with Ceder; perhaps more important, everyone who buys a paper copy of the book may also download a free PDF version. It is to be hoped that other publishers will follow Manning's example.
The Bad: the author is very clear that the book is aimed at those with experience in another programming language. Even so, in a few cases the assumptions are Python-specific (and hence unwarranted): one example is in chapter 5, where he lets us know that if x is a list then y=x[:] makes a copy of x, though this does not really explain why we cannot simply say y=x to accomplish the same goal. Another example: in chapter 12 Ceder uses character ranges expressed with , though these are introduced much later (in chapter 17). Similarly, chapter 3 is quite good if you've already come into contact with Python before (even fleetingly). If you haven't, it may be obfuscating (though you could always just skip it on the first read). On a different note, this book does not contain exercises, though Summerfield's, Payne's, and Lutz's volumes do (along with answers). As mentioned in the previous paragraph, Ceder does not include too much extraneous stuff something which in my opinion is definitely a plus. However, he does not say absolutely anything on threading while Summerfield has a chapter on the subject and Payne a section. Similarly, Ceder does not mention function annotations at all, while Summerfield and Lutz each have a section on them. Finally, Ceder keeps referring the reader to the Python documentation for more details, and this can get frustrating. On the other hand, I suppose it would have been impossible for the book to stay at its current 320 pages otherwise.
Ceder's writing is concise, but this does not imply that he covers only the bare minimum of material. To pick a relatively advanced topic as an example, Ceder spends 2 pages on metaclasses, Summerfield 4.5 pages, Pilgrim and Payne devote half a page each only in the context of the changes from Python 2 to 3, while Lutz, in keeping with the mammoth size of his book, spends more than 30 pages on the topic. This (arbitrarily chosen) example is in some ways indicative of the wider approaches taken by the various Python 3 book authors.
In a nutshell, the fact that this book is considerably shorter than its competitors does not mean that it is shallow. The compactness is due partly to the author's succinct style of writing (which is not opaque, however) and partly to the fact that it does not contain too much on database programming, web services, and so on. All in all, if you're looking for a solid book on Python 3 that you stand a reasonable chance of reading cover-to-cover, then this is the volume you should buy. It does contain many uncorrected errata, but most of them are easy to spot. Four stars.
I agreed with the positive reviews at first. I am not a software engineer but I do have a CS degree, work in IT and do a lot of scripting. I've also had two java classes so many of the concepts and look and feel of the language weren't new. It was "time" to learn Python. I ripped through most of the book in a few days.
Then I hit Chapter 11.."programs and modules" . Suddenly the code samples became unnecessarily laborious to replicate; it wasn't worth my time anymore. I am abandoning this book and seeking other sources with more concise, illustrious examples to try.
Another complaint -- not enough tips on using IDLE. Fortunately I had "Head First Python" on hand that offered a few tips up front which saved a lot of frustration.
In learning a language, one of the first concepts to learn is how to get simple input from the user, as opposed to manually setting the variables in your code (which is sort of pointless).
Basic user input is not introduced until late in Chapter 4 (Section 4.8, page 43). And even then the code in the book does not work (Python version 2.6.8):
name = input("Name? ")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'Vern' is not defined
The flow of the book is very smooth and the examples are short and clear. The examples also make more sense than the ones in the python tutorial at [...]. (Personally, I think the online python tutorial tries to explain too much for a tutorial.)
The pillow-sized 1100+ page book Learning Python: Powerful Object-Oriented Programming gave me shoulder ache and has a horrible flow, and I never thought I would finish reading it, while I could finish this book in a couple of weeks (in my spare time) and can now use python for many scripting and proto-typing tasks.