5th Edition, Learning Python
ByMark Lutz★ ★ ★ ★ ★ | |
★ ★ ★ ★ ☆ | |
★ ★ ★ ☆ ☆ | |
★ ★ ☆ ☆ ☆ | |
★ ☆ ☆ ☆ ☆ |
Looking for5th Edition, Learning Python in PDF?
Check out Scribid.com
Audiobook
Check out Audiobooks.com
Check out Audiobooks.com
Readers` Reviews
★ ★ ★ ★ ☆
ancilla
Pretty good book. It is very complete and accurate. It explains all the details of how each feature of the language works at a sufficiently low level. But it reads more like a reference book than a book to learn the main features of python. It's a large book so it might not be worth reading it straight through, but a good book to have if you're learning python or need a reference book.
★ ★ ★ ★ ★
emilie
An excellent in-depth tutorial of the Python language for both 2.7 and 3.3. I will say that the author seems to assume the reader has never programmed before, but that's fine if you actually haven't programmed before.
★ ★ ★ ★ ☆
mendy
The most amazing thing about this 1500-page book is that it's incomplete without its sequel, the equally humongous "Programming Python." This book gives you a detailed tour of the basics of the language, its syntax and semantics and just a touch of actual useful programming. The real work, or so I gather, is in the sequel.
However, this is a review of this book, not the sequel. That will come in a few months (which right there tells you I reasonably liked this book).
The second most amazing thing about this book, then, is how clear it is.
Python is a language both simple and complex: you can learn to write simple scripts in a day or so, but there is so much more to it. It is good for structured programming, declarative programming, and object-oriented programming (at least). It has a huge library of nice functions and widgets to add in as you need them - and that's just the official distribution.
Lutz introduces us to the language without assuming anything other than that we have a computer and are able to do basic things with it (including accessing the Intartoobs). He writes in a clear and occasionally humorous style, borrowing variable names and such from Monty Python (after whom the language is named), and giving examples that actually demonstrate the points being made - though, aside from that, most of them don't actually _do_ much. (Again, that appears to be reserved for the sequel.)
For someone with no programming background, this would probably be a do-able book. For someone like me who has such a background, though out of date, it's definitely right on the beam. (I picked this up because I wanted to learn a reasonably modern programming language; coworkers recommended either this or PHP, and I liked the name of this one better. Seriously...) For an advanced programmer, familiar with languages like Java and C++, it provides clear explanations of how (and occasionally why) Python is different from those languages. (Python has an explicit design and programming philosophy, the "Zen of Python," built into the language as an Easter egg.)
There's no real conclusion to be drawn here, other than that if you are interested in learning Python, this is a pretty good place to start.
However, this is a review of this book, not the sequel. That will come in a few months (which right there tells you I reasonably liked this book).
The second most amazing thing about this book, then, is how clear it is.
Python is a language both simple and complex: you can learn to write simple scripts in a day or so, but there is so much more to it. It is good for structured programming, declarative programming, and object-oriented programming (at least). It has a huge library of nice functions and widgets to add in as you need them - and that's just the official distribution.
Lutz introduces us to the language without assuming anything other than that we have a computer and are able to do basic things with it (including accessing the Intartoobs). He writes in a clear and occasionally humorous style, borrowing variable names and such from Monty Python (after whom the language is named), and giving examples that actually demonstrate the points being made - though, aside from that, most of them don't actually _do_ much. (Again, that appears to be reserved for the sequel.)
For someone with no programming background, this would probably be a do-able book. For someone like me who has such a background, though out of date, it's definitely right on the beam. (I picked this up because I wanted to learn a reasonably modern programming language; coworkers recommended either this or PHP, and I liked the name of this one better. Seriously...) For an advanced programmer, familiar with languages like Java and C++, it provides clear explanations of how (and occasionally why) Python is different from those languages. (Python has an explicit design and programming philosophy, the "Zen of Python," built into the language as an Easter egg.)
There's no real conclusion to be drawn here, other than that if you are interested in learning Python, this is a pretty good place to start.
Python Tricks: A Buffet of Awesome Python Features :: The Linux Command Line: A Complete Introduction :: Python Cookbook: Recipes for Mastering Python 3 :: An Introduction to Computer Science - 3rd Ed. - Python Programming :: Python for Informatics - Exploring Information
★ ★ ★ ☆ ☆
jungwon
Learning Python would make a solid choice for a Python programming class that spans several months. Experienced programmers who are looking to add Python to their programming repertoire may want to find a book with a more concise approach. On the plus side Mark identifies a lot of programming "gotchas" and successfully covers the differences between the two most popular versions of Python (2.7, and 3.X). Too often though the book dwells on unimportant topics for far too long, and gives other topics a short shrift... the phrase "we'll cover that in a later chapter" is easily the most common refrain in the book. A colleague of mine owns an earlier edition of Learning Python and it is several hundred pages shorter... seemingly as Python evolves the new information is added in with little effort to edit the existing content. I didn't really need the lengthy early chapters on why to use Python... I bought a book on Python, I obviously want to learn it. The comparison to other programming languages could be cut down by 75% or more. Topics of interest to me as an experienced programmer, such as multi-threading, and basic UI coding, are conspicuous by their absence. It's not a bad book, there is a lot of information covered here... but it would be better if it was shorter by a third, and covered some more diverse topics at the expense of some of the minutia on simpler topics. I read the whole 1400 pages (theres another 100+ pages of appendices) and felt that I had a reasonable foundation in Python, but that it was a slog getting there, which contrasts with an early chapters insistence that Python is fun.
★ ★ ★ ☆ ☆
paul jensen
Just as a background, I am a software developer with 15 years software development in C, C++, Perl, and some Java moving into a position working with Python for the first time. I was looking for a good Python "techniques" and basic fundamental language guide book, which is why I turned to the O'Reilly line (I have so many of their other books, from Perl to UNIX tools, to Java, etc.) But, quite frankly, this book by Mark Lutz is very difficult to recommend (skip to the end for the TL;DR). In a short version, it is very amateur, both from a writing perspective and a software development perspective.
For the long version, first the bad points... The author is either a half-baked software developer, or he is very good at coming across as one. Statements like "Python is better because it doesn't have the costly compile and link-time steps that languages like C does" makes me tilt my head in wonder. Does he not understand that ALL program execution has to be compiled to machine code? And that if it is not done at development time, then the user of your code will surely incur that hit at runtime through an interpreter or some virtual machine? The reason C (and C++, although the author usually names just C) compiles into machine code ahead of time is to save the runtime cost. This isn't a "Python is better than C" issue. It's a simple tradeoff that any real software developer realizes and makes use of. If you don't need the runtime speed, then improving development cycle speed is a good thing, yes? And likewise if you need a fast execution, taking the hit ahead of time so your users don't is worth it. This is software development, something the author doesn't display a good job of fully understanding.
In fact, half of the book reads like this. From subjective, baseless assertions like "most programmers prefer single-quotes [to declare literal strings]" (??? Certainly not in my experience!) to constant "rah rah" Python proselytizing over other programming languages (C is a favorite target of his), it all shows a very shaky grasp on the ins and outs of software engineering. He slams C's memory management and ability to get to the guts of a program, yet that is often required to create a sleek, highly efficient program. He attacks C's syntax and praises Python's indent-based syntax without addressing the fact that Python tightly binds pretty visual formatting of human-readable code to machine execution flow. To a seasoned software engineer, this is all about tradeoffs and using the right tool for the job. Python does MANY things well, some MUCH better than C. It's about using a hammer on a nail and a driver on a screw. But you will have to wade through pages of cheer-leading and preaching from the author before you learn to actually USE Python. If you are a C developer buying this book, you'd want to get to the nuts and bolts and just figure out how to use this tool to accomplish the job. If not, you wouldn't understand all the constant comparisons and claims of superiority over C anyway. "WHY Python?" the author asks. Because it is the tool to use for this job. It's that simple. I don't need the immature and insecure attempts to self-rationalize why Python "REALLY is great guys, honestly! Much better than 'C'!" I just need to know the syntax, libraries, and tips and tricks.
Now for the good: all that latter stuff IS in here. You just have to wade through the self-actualizing, childish ego-trip to get to the juicy bits. So, in the end, I'd recommend it if you don't mind fighting your way through what amounts to a half-book's worth of insecurities to find the information you need.
For the long version, first the bad points... The author is either a half-baked software developer, or he is very good at coming across as one. Statements like "Python is better because it doesn't have the costly compile and link-time steps that languages like C does" makes me tilt my head in wonder. Does he not understand that ALL program execution has to be compiled to machine code? And that if it is not done at development time, then the user of your code will surely incur that hit at runtime through an interpreter or some virtual machine? The reason C (and C++, although the author usually names just C) compiles into machine code ahead of time is to save the runtime cost. This isn't a "Python is better than C" issue. It's a simple tradeoff that any real software developer realizes and makes use of. If you don't need the runtime speed, then improving development cycle speed is a good thing, yes? And likewise if you need a fast execution, taking the hit ahead of time so your users don't is worth it. This is software development, something the author doesn't display a good job of fully understanding.
In fact, half of the book reads like this. From subjective, baseless assertions like "most programmers prefer single-quotes [to declare literal strings]" (??? Certainly not in my experience!) to constant "rah rah" Python proselytizing over other programming languages (C is a favorite target of his), it all shows a very shaky grasp on the ins and outs of software engineering. He slams C's memory management and ability to get to the guts of a program, yet that is often required to create a sleek, highly efficient program. He attacks C's syntax and praises Python's indent-based syntax without addressing the fact that Python tightly binds pretty visual formatting of human-readable code to machine execution flow. To a seasoned software engineer, this is all about tradeoffs and using the right tool for the job. Python does MANY things well, some MUCH better than C. It's about using a hammer on a nail and a driver on a screw. But you will have to wade through pages of cheer-leading and preaching from the author before you learn to actually USE Python. If you are a C developer buying this book, you'd want to get to the nuts and bolts and just figure out how to use this tool to accomplish the job. If not, you wouldn't understand all the constant comparisons and claims of superiority over C anyway. "WHY Python?" the author asks. Because it is the tool to use for this job. It's that simple. I don't need the immature and insecure attempts to self-rationalize why Python "REALLY is great guys, honestly! Much better than 'C'!" I just need to know the syntax, libraries, and tips and tricks.
Now for the good: all that latter stuff IS in here. You just have to wade through the self-actualizing, childish ego-trip to get to the juicy bits. So, in the end, I'd recommend it if you don't mind fighting your way through what amounts to a half-book's worth of insecurities to find the information you need.
★ ★ ☆ ☆ ☆
sean golden
I am an experienced Perl programmer and I am quite familiar with the basic tenets of programming. I decided recently it was time to learn Python and so I purchased this book due to the overall positive reviews. I knew the book was kind of large (over 1500+ pages) but this didn't bother me. I figured it was probably full of great examples and covered more advanced topics in detail. Not so. This book is exceedingly verbose, unfulfilling and essentially empty. The examples are scattered and never quite stitched together to give you a sense of actual programming in Python. For example, I learned Perl with the book "Learning Perl in 24 hrs". This book gave ample page long examples of actual programs that were numbered by line. The next page or two would then have explanations for each line of code -- mostly a review of what you have already learned but also introducing new concepts. This book would be served well by such practices.
Also, I was interested in regular expression/pattern matching in Python. Despite the hundreds of pages waisted in this book the author dedicates only half a page to the 're' module claiming it's "an advanced tool outside this book's scope." What!!! Further, the section on loops is also poorly organized and filled with fluff. I could go on but i think my frustration is evident. Read the other reviews and you will see a trend. Avoid this book.
Also, I was interested in regular expression/pattern matching in Python. Despite the hundreds of pages waisted in this book the author dedicates only half a page to the 're' module claiming it's "an advanced tool outside this book's scope." What!!! Further, the section on loops is also poorly organized and filled with fluff. I could go on but i think my frustration is evident. Read the other reviews and you will see a trend. Avoid this book.
★ ★ ★ ★ ☆
kristy marie
While containing detailed technical content, Mr Lutz made this book very readable. I wish, however, I'd purchased the Kindle version. At 1,500+ pages this book is too heavy. Perhaps O'Reilly should consider binding it into a couple of volumes.
★ ★ ★ ★ ★
lyn negri
Python is easy to use, but not everyone can really use it.
I bought Python Crushing Course and completed reading it in 3 days. And I felt I still know nothing about Python except some functions.
So I bought Mark Lutz's Book. After read 600+ pages, I am writing reviews right now.
This book is well structured, have some very good and well-designed examples. He told you to how Python works and why
col1 = [ row[1] for row in matrix ] is faster than normal C style loops.
That is what I am looking for. I love it.
I bought Python Crushing Course and completed reading it in 3 days. And I felt I still know nothing about Python except some functions.
So I bought Mark Lutz's Book. After read 600+ pages, I am writing reviews right now.
This book is well structured, have some very good and well-designed examples. He told you to how Python works and why
col1 = [ row[1] for row in matrix ] is faster than normal C style loops.
That is what I am looking for. I love it.
★ ★ ★ ☆ ☆
kim annabella
I like that the author attempted to present a thorough understanding of the inner workings of python. I love detail. I am sure the author has a good grasp of this knowledge. However, he is unable to convey this information to the reader in an orderly and succinct manner. The reader finds himself exhausted from reading long passages only to be rewarded with lightly tangentially related concepts or ideas that had already been explained. In short, it takes too long to get to the point. For me, David Beazley is one of the best writers on the subject of computer science (I read his python text but its a bit dated now). His writing is lean, each sentence packs an important detail, and collectively the sentences convey a bigger idea.
★ ★ ★ ★ ☆
johannes ardiant
Mark Lutz provides a level of detail and explanation on many different topics regarding Python. While helpful for people who may have never programmed before and decided Python is a good language to start with (which it is), a lot of the material here will be review for somebody who has programmed before. That's not to say you should skip the chapters if you have programmed before however, as the way Python does things may be different from how one may expect them to be done (syntax, etc). So a quick gloss over may be very beneficial here.
Most of the chapters are easily understandable as the author provides clear context and examples to accompany the topics presented. One of the things I disliked about the book was the author's constant voiced disapproval of C/C++ in this book. While I understand he may not like the language, I don't feel it worth pointing out how the author thinks certain aspects of Python are better than doing a similar task in C/C++. It's not needed in this book and serves no purpose. Somebody learning Python from this book already has a reason for wanting to learn it.
Most of the chapters are easily understandable as the author provides clear context and examples to accompany the topics presented. One of the things I disliked about the book was the author's constant voiced disapproval of C/C++ in this book. While I understand he may not like the language, I don't feel it worth pointing out how the author thinks certain aspects of Python are better than doing a similar task in C/C++. It's not needed in this book and serves no purpose. Somebody learning Python from this book already has a reason for wanting to learn it.
★ ★ ★ ★ ★
viking books
I have read reviews that complain that this book won't work for those who don't know any Python, but are looking to start. While admittedly I already did quite a bit of programming in Python, I do think that it would work well for those new to the language. It takes everything slowly, explaining exactly what is happening (or promising to do so in later chapters). It is a great way to learn in depth about Python.
That being said, it is not necessarily the best place if all you are looking for is code samples to dissect hoping to learn how to recreate them that way. The author is teaching a more professional and in depth way of coding, where one actually understands why things must be done. If that is not what you are looking for, you may need to look elsewhere.
That being said, it is not necessarily the best place if all you are looking for is code samples to dissect hoping to learn how to recreate them that way. The author is teaching a more professional and in depth way of coding, where one actually understands why things must be done. If that is not what you are looking for, you may need to look elsewhere.
★ ★ ★ ★ ★
ooi chuan
I already know several programming languages. I got a software development degree in college. And I have to say, I have NEVER read a development book written so WELL. Mark Lutz is an INCREDIBLE teacher and an INCREDIBLE writer.
★ ★ ★ ★ ★
flo the coffee addict
Love this book.
If you like detailed instruction in a conversational tone this is a great book to learn Python from.
I don't think its for everyone though, it does slog on in exquisite detail.
Works well for me.
If you like detailed instruction in a conversational tone this is a great book to learn Python from.
I don't think its for everyone though, it does slog on in exquisite detail.
Works well for me.
★ ★ ★ ★ ★
sarah roy
If you are looking to learn python deeply, this is your book. If you want a crash course to start using python in few hours, this is not the book you are looking for. The author is honest about those facts from the beginning of the book, so those who complain that it takes at least four chapters to start coding, clearly didn't read the front matter.
That said, this book is clearly written. The author is good at explaining details that are convoluted in the cryptic tutorials of python's official site.
That said, this book is clearly written. The author is good at explaining details that are convoluted in the cryptic tutorials of python's official site.
★ ★ ★ ★ ★
eileen joy
Mark Kutz has wriiten the best book on a programming language that I haver ever read. Everyone who Works with Python should read this book. He is so in depth that he answered a problem I had with an industrial control some 10 years ago. We really were wondering if the control was haunted as it seemed to have a mind of his own. One reviewer complained the the first chapter had sentences such as "More about that later" and that bothered him. The chapter clearly states that it is a preview and that is what it is. Mark is fantastic with details such as how a variable is a reference to an object and the subtle difference between these and variables and pointers in C and how variables in Python do not have any type. They reference an object that has a type which can change dynamically but Python is strongly typed.
★ ★ ★ ★ ★
hank ryan
Great book if you want a comprehensive and detailed overview to use as a reference. Not the kind of book that works as a standalone work to learn python, as there aren't enough meaty examples. This is the book to go to when you want an extremely verbose explanation. For no nonsense, get-to-the-point Python, I recommend Learn Python in 24 Hours by Katie Cunningham.
★ ★ ☆ ☆ ☆
ron law
It is OK but completely and I mean completely overdone. This book needed serious editing. much of the content is already known to C/C++ programmers and did not need to be reported. Maybe an edition aimed at experienced programmers (C++, OO) is what is needed and it would be about one tenth of the size (and incorporate "Programming Python"). Succinct it is not.
Obviously great work was done in it's creation and the intentions were good but .... it needed an editor
Obviously great work was done in it's creation and the intentions were good but .... it needed an editor
★ ★ ★ ★ ★
cattivo91
It is well written and filled with links and notes that only a very knowledgeable person could know. I've been learning and writing software since the mid-70's and I wanted to learn a new language that was powerful but fun to program. It is easy to try stuff out in Python and this book shows you how. Easy to pace yourself through the book
Please Rate5th Edition, Learning Python