Our Ironclad Guarantee
You must be satisfied. Try our print books for 30 days or our eBooks for 14 days. If they aren't the best you've ever used, you can return the books or cancel the eBooks for a prompt refund. No questions asked!
Covers Python 3
Python is one of today’s fastest-growing languages. Its simple syntax makes it relatively easy to learn, and its diverse uses…from web and game programming to data analysis and data mining to scientific computing, artificial intelligence, and more!...are fueling its popularity. So we had to answer the clamor for a Murach book on Python. Now, we believe it provides the fastest, easiest, yet most professional way to learn Python that you can find, whether you’re a beginning programmer or have years of experience.
Go to our instructor’s site to learn more about this book and its instructor’s materials.
This is by far the best Python tutorial I have come across. Tried Udemy, Udacity, some other video and printed tutorials, but didn’t get the feel of it. Murach's side-by-side lecture & example really works for me. And the sample codes and exercises are valuable tutorials that any newbie will want to keep as reference materials. Really effective training style.”
This book is for anyone who wants to learn Python. If Python is your first programming language, it helps you master all the skills and concepts you need to program in any modern language, as you learn Python itself. If you’re an experienced programmer who wants to add Python to your resume, it will help you learn Python faster and better than you’ve ever learned a language before. And either way, once you’ve used it for self-training, it becomes your ideal on-the-job reference.
To make this book as effective as possible, the content is divided into four sections:
Like all our books, this one has features that you won’t find in competing books. That’s why you’ll learn faster and better with our book than with any other. Here are a few of those features.
To develop Python programs, you just need to download and install Python. It includes an integrated development environment (IDE) called IDLE that you can use for coding, testing, and debugging your programs. Chapter 1 shows how to use IDLE, and appendixes A and B show how to install Python and IDLE on Windows and Mac OS X systems.
If you’re going to develop programs that use a SQLite database as shown in chapter 17, you also need to download and install DB Browser for SQLite. Appendixes A and B also provide the instructions for doing that.
“This is now my third text book for Python, and it is the ONLY one that has made me feel comfortable solving and reading problems or code respectively. The paired pages approach is fantastic, and it is probably the only reason that makes learning the syntax, rules, and conventions understandable for me. I really do appreciate the authors’ ability to bring the concepts to life with this approach.”
“The material in the book itself is worth 6 stars [out of 5]. It's second to none in its quality. I wouldn't suggest learning languages from anything but a Murach book.”
“[Take a look at the contents] and see where they put testing/debug: Chapter 5. I love the placement! Folks going through the book get Python installed, receive positive returns with some basic code, and then take a breather with testing/debugging before more complex things come their way.”
“Murach's Rock: Murach's usual excellent coverage with examples that are actually practical.”
“This is not only a book to learn Python but also a well structured guide to refer to whenever I face a Python problem. What I really like is that it is very well-organized and easy to follow. It covers the perfect amount of description and it does not make you bored by providing unnecessary details.”
“Good introduction to the Python language. I find it far more helpful than the others I am also using.”
“Love this book so far. Very informative in helping me learn coding in Python.”
“I've been a fan of Murach's approach to teaching programming concepts and practices for many years, and now they've finally published a book on Python, and they've done a wonderful job…. The book's high points are the chapters on debugging and testing, and the discussion of some of the features of Python 3.x. The fact that the authors spend a healthy portion of the book illustrating OOP is very much appreciated.”
View the table of contents for this book in a PDF: Table of Contents (PDF)
Click on any chapter title to display or hide its content.
Why Python works so well as your first programming language
Three types of Python applications
The source code for a console application
How Python compiles and runs source code
How disk storage and main memory work together
How to use the interactive shell
How to work with source files
How to compile and run a program
How to fix syntax and runtime errors
How to code statements
How to code comments
How to use functions
How to assign values to variables
How to name variables
How to code arithmetic expressions
How to use arithmetic expressions in assignment statements
How to use the interactive shell for testing numeric operations
How to assign strings to variables
How to join strings
How to include special characters in strings
How to use the interactive shell for testing string operations
How to use the print() function
How to use the input() function
How to use the int(), float(), and round() functions
How to chain functions
The Miles Per Gallon program
The Test Scores program
How to use the relational operators
How to use the logical operators
How to compare strings
How to code if statements
More examples of if statements
How to code nested if statements
How to use pseudocode to plan if statements
The Miles Per Gallon program
The Invoice program
How to code while statements
How to code for statements
How to code break and continue statements
More examples of loops
How to use pseudocode to plan a program
The Test Scores program
The Future Value program
How to define and call a function
How to define and call a main() function
The Future Value program with functions
How to use default values for arguments
How to use named arguments
When and how to use local and global variables
How to create a module
How to document a module
How to import a module
The Convert Temperatures program
How to use the random module
The Guess the Number game
How to use a hierarchy chart
The hierarchy chart for the Pig Dice game
The Pig Dice game with global variables
The Pig Dice game with local variables
The three types of errors that can occur
Common Python errors
How to plan the test runs
A simple way to trace code execution
How to use top-down coding and testing to simplify debugging
How to use the IDLE shell to test functions
How to set and remove breakpoints
How to step through the code
How to view the stack
How to create a list
How to get and set items
How to add and remove items
How to process the items in a list
How lists are passed to functions
The Movie List program
How to create a list of lists
How to process the items in a list of lists
The Movie List 2D program
How to count, reverse, and sort the items in a list
How to use other functions with lists
How to copy, slice, and concatenate lists
How to create a tuple
How to get items from a tuple
The Number Crunching program
How file I/O works
How to open and close a file
How to write a text file
How to read a text file
How to work with a list in a text file
The Movie List 1.0 program
How to write a CSV file
How to read a CSV file
How to modify the CSV format
The Movie List 2.0 program
How to work with a binary file
The Movie List 3.0 program
How exceptions work
How to use a try statement to handle one type of exception
The Total Calculator program
How to use a try statement to handle multiple exceptions
How to get the information from an exception object
The Movie List 2.0 program
How to use a finally clause
How to raise an exception
How floating-point numbers work
How to use the math module
How to use the format() method of a string
How to use the locale module
How to fix rounding errors
How to use the decimal module
The Invoice program with decimal numbers
The Future Value program with decimal numbers
Unicode, indexes, slicing, duplicating, and multiline strings
How to search a string
How to loop through the characters in a string
How to use basic string methods
How to find and replace parts of a string
The Create Account program
How to split a string into a list of strings
How to join strings
The Movie List 2D program
The Word Counter program
The user interface
The hierarchy chart
The wordlist module
The hangman module
How to create date, time, and datetime objects
How to create datetime objects by parsing strings
How to format dates and times
How to work with spans of time
The Invoice Due Date program
The Timer program
How to get date and time parts
How to compare date/time objects
The Hotel Reservation program
How to create a dictionary
How to get, set, and add items
How to delete items
How to loop through keys and values
How to convert between dictionaries and lists
The Country Code program
The Word Counter program
How to use dictionaries with complex objects as values
The Book Catalog program
How recursion works in Python
How to use recursion to add a range of numbers
How to compute the factorial of a number
How to compute a Fibonacci series
An algorithm for solving the Towers of Hanoi puzzle
The code for solving the Towers of Hanoi puzzle
Two UML diagrams for the Product class
Code that defines a Product class
Code that uses a Product class
How to create and use objects
How to code a constructor and attributes
How to code methods
The Product Viewer 1.0 program
How object composition works
The Die and Dice classes
The Dice Roller 1.0 program
How object encapsulation works
How to hide attributes
How to access hidden attributes with methods
How to access hidden attributes with properties
The Die and Dice classes with encapsulation
The Product class with some encapsulation
The console
The code
How inheritance works
How to define a subclass
How polymorphism works
How to check an object’s type
The objects module
The user interface and product_viewer module
How to define a string representation for an object
How to define an iterator for an object
The Die and Dice classes
How to work with custom exceptions
When to use inheritance
Five steps for designing an object-oriented program
How to identify the data attributes
How to subdivide the data attributes
How to identify the classes
How to identify the methods
How the three-tier architecture works
The business tier
The database tier
The presentation tier
How a database table is organized
How the tables in a database are related
How the columns in a table are defined
How to select data from a single table
How to select data from multiple tables
How to insert, update, and delete rows
How to connect to a SQLite database
How to execute SQL statements
How to connect to a SQLite database
How to execute SELECT statements
How to get the rows in a result set
How to execute INSERT, UPDATE, and DELETE statements
How to test the database code
How to handle database exceptions
The user interface
The business tier
The database tier
The presentation tier
How to display a root window
How to work with frames and buttons
How to handle a button click event
How to work with labels and text entry fields
How to lay out components in a grid
How to code a class that defines a frame
The business module
The ui module
How to install the source code for this book
How to install Python and IDLE
How to install Firefox and SQLite Manager
How to verify that the database is installed correctly
How to install the source code for this book
How to install Python and IDLE
How to verify that Python and IDLE are working correctly
How to install Firefox and SQLite Manager
How to verify that the database is installed correctly
To get a better idea of how well this book works, you can download its first two chapters in PDF format. As you will see, these chapters work well for programming novices as well as experienced programmers. If you’re a beginner, these chapters will help you discover whether you like programming.
This chapter is a quick introduction to Python programming and the IDLE interactive environment that’s used for developing Python programs.
This chapter presents a starting subset of Python skills that lets you write your first programs. And we’re not talking about a few lines of “Hello World” code, but complete programs that get input, process it, and display output. This chapter works great for beginners, and if you have some programming experience, you’ll speed through it.
Chapter 1 PDF (1.0MB) Download Now
Chapter 2 PDF (0.7MB) Download Now
This download includes:
Appendix A for Windows and appendix B for Mac OS X show how to install and use these files.
Exe file for Windows (0.4MB) Download Now
Zip file for any system (0.3MB) Download Now
To view the "Frequently Asked Questions" for this book in a PDF, just click on this link: View the questions
Then, if you have any questions that aren't answered here, please email us. Thanks!
To view the corrections for this book in a PDF, just click on this link: View the corrections
Then, if you find any other errors, please email us so we can correct them in the next printing of the book. Thank you!
For orders and customer service:
1-800-221-5528
Weekdays, 8 to 4 Pacific Time
If you're a college instructor who would like to consider a book for a course, please visit our website for instructors to learn how to get a complimentary review copy and the full set of instructional materials.