If you want to learn how to program but don't know where to start, this is the right book and the right language for you. From the first page, our unique self-paced approach will help you build competence and confidence in your programming skills. And Python is the best language ever for learning how to program because of its simplicity and breadth...two features that are hard to find in a single language.
But this isn't just a book for newbies! Our self-paced approach also works for experienced programmers, helping you learn faster and better than you've ever learned a language before. By the time you're through, you will have mastered all of the Python skills that are needed on the job, including those for object-oriented, database, and GUI programming.
To make all of this possible, section 1 of this book presents an 8-chapter course that will get anyone off to a great start. Section 2 builds on that base by presenting the other essential skills that every Python programmer should have. Section 3 shows you how to develop object-oriented programs, a critical skillset in today's world. And section 4 shows you how to apply all of the skills that you've already learned as you build database and GUI programs for the real world.
This is a college-level textbook, suitable for beginners to programming. As such it does a good job, in clear language. There are many examples and exercises. It deals entirely with Python 3; Python 3.5.2 seems to have been current at the time of writing (see p. 539). The usual resources for instructors are available from the publisher's website.
Contents
01) An Introduction to Python programming 02) How to write your first programs 03) How to code control statements 04) How to define and use functions and modules 05) How to test and debug a program 06) How to work with lists and tuples 07) How to work with file I/O 08) How to handle exceptions 09) How to work with numbers 10) How to work with strings 11) How to work with dates and times 12) How to work with dictionaries 13) How to work with recursion and algorithms 14) How to define your own classes 15) How to work with inheritance 16) How to design an object-oriented program 17) How to work with a database 18) How to build a GUI program
A) How to set up Windows for this book B) How to set up Mac OS X for this book
Problem with downloaded source-code (see comments)
[removed , as the problem has now apparently been fixed.]
Database Programming
The database coverage in Chapter 17 is now out of date, and has been replaced; see the publisher's website for details.
Comparison with Liang
In general, I found the coverage here better than in Daniel Liang's Introduction To Programming Using Python, although Liang seems to be more thorough in some areas (e.g. GUI programming). Having worked through both, if I had to pick one or the other, I would take Murach — especially in view of the relative pricing.
“Murach's Python Programming” follows the standard style of Murach books. The left side of each paired page is text and the right side is code/tables/bullets. This is great for learning a new language because it lets you easily reference the highlights while also having a text description available. It's also if Python isn't your first language so you can skim the text you know about already.
The book teaches IDLE as an editor at the same time as Python and includes tips on debugging. The appendixes specific to Windows and Mac are helpful. I like that it covers essential skills such as reading/writing files and databases (SQLite.) The examples are fun such as Dice and Movies.
I especially like the exercises at the end of each chapter. These are great suggestions for practicing what the reader learned in the chapter.
This review comes with a bonus for the physical book. I had a bottle of water without the lid closed well and managed to get water all over my bag including getting this book sopping wet. When it dried out, it was fine; just crispy. I was pleasantly surprised and content with Murach's paper quality. I don't recommend “waterboarding” your book even though it worked out well though :)
Disclosure: I received a review copy of this book from the publisher for reviewing it on behalf of CodeRanch.
Pretty complete in getting started with Python. I think it sets a good foundation for the language. I still suggest looking at changes in the options provided as programming books date themselves as soon as their published, so if examples don't work exactly, it is probably due to some updating of the compiling or interpreter of the codebase.
I do recommend it for anyone just starting out on Python and wants to get a quick start into the language. Murach's series of books seem to be good primers in getting started in any programming language or to refresh one's skills.
This book covers important concepts for learning Python. It especially focuses on how to plan a program and how to work with databases and its language, such as SQL. To beginners, I would suggest first to visit Python Crash Course and then this book to brush up.
Was looking for a book on Python that would lay out the building blocks and then allow for good OOP. This book is practical and setup differently than other programming texts. The left side of the book is all for reference and the right is the programming example. Was able to build sophisticated programs more geared at how I used to write C after completing.
I kind of skipped around in this book. Read and studied up to Chapter 12. I took a mini-Python course which was tougher than I thought it would be! Luckily, the text was complemented with video tutorials.
This class/textbook marked the end of grad school for me. Now, onto all the fiction I can devour.
The last time I really did code, Basic had line numbers. I dove right int to Murach's Python and had no difficulty understanding the concepts, the coding, or the example programs. I would recommend it to anyone looking to learn to code in general or learn Python in particular.
If you want to learn python programming this is a great resource to take you from nothing to functioning this is the book. It uses Python 3, and IDLE for your IDE. Covers the basics of data types, functions, methods, etc.. then branches into more complex data types, classes, OOP theory, database design (sqlite), three tier architecture, and wraps up with basic GUI.