Learn Python 3 the Hard Way, 5th edition

Published by Addison-Wesley Professional (February 1, 2024) © 2024

  • Zed A. Shaw
Products list
Products list

Title overview

You Will Learn Python!

Zed Shaw has created the world's most reliable system for learning Python. Follow it and you will succeed - just like the millions of beginners Zed has taught to date! You bring the discipline, persistence, and attention; the author supplies the masterful knowledge you need to succeed.

In Learn Python the Hard Way, you'll learn Python by working through 60 lovingly crafted exercises. Read them. Type in the code. Run it. Fix your mistakes. Repeat. As you do, you'll learn how a computer works, how to solve problems, and how to enjoy programming, even when it's driving you crazy.

  • Install a complete Python environment
  • Organise and write code
  • Fix and break code
  • Basic mathematics
  • Strings and text
  • Interact with users
  • Work with files
  • Looping and logic
  • Object-oriented programming
  • Data structures using lists and dictionaries
  • Modules, classes, and objects
  • Python packaging
  • Automated testing
  • Basic SQL for Data Science
  • Web scraping
  • Fixing bad data (munging)
  • The 'Data' part of 'Data Science'

It'll be frustrating at first. But if you keep trying, you'll get it - and it'll feel amazing! This course will reward you for every minute you put into it. Soon, you'll know one of the world's most powerful, popular programming languages. You'll be a Python programmer.

Table of contents

  • Module 1: Getting Started in Python
  • Exercise 0: Gearing Up
  • Exercise 1: A Good First Program
  • Exercise 2: Comments and Pound Characters
  • Exercise 3: Numbers and Math
  • Exercise 4: Variables and Names
  • Exercise 5: More Variables and Printing
  • Exercise 6: Strings and Text
  • Exercise 7: Combining Strings
  • Exercise 8: Formatting Strings Manually
  • Exercise 9: Multi-Line Strings
  • Exercise 10: Escape Codes in Strings
  • Exercise 11: Asking People Questions
  • Exercise 12: An Easier Way to Prompt
  • Exercise 13: Parameters, Unpacking, Variables
  • Exercise 14: Prompting and Passing
  • Exercise 15: Reading Files
  • Exercise 16: Reading and Writing Files
  • Exercise 17: More Files
  • Module 2: The Basics of Programming
  • Exercise 18: Names, Variables, Code, Functions
  • Exercise 19: Functions and Variables
  • Exercise 20: Functions and Files
  • Exercise 21: Functions Can Return Something
  • Exercise 22: Strings, Bytes, and Character Encodings
  • Exercise 23: Introductory Lists
  • Exercise 24: Introductory Dictionaries
  • Exercise 25: Dictionaries and Functions
  • Exercise 26: Dictionaries and Modules
  • Exercise 27: The Five Simple Rules to the Game of Code
  • Exercise 28: Memorizing Logic
  • Exercise 29: Boolean Practice
  • Exercise 30: What If
  • Exercise 31: Else and If
  • Exercise 32: Making Decisions
  • Exercise 33: Loops and Lists
  • Exercise 34: While Loops
  • Exercise 35: Branches and Functions
  • Exercise 36: Designing and Debugging
  • Exercise 37: Symbol Review
  • Module 3: Applying What You Know
  • Exercise 38: Beyond Jupyter for Windows
  • Exercise 39: Beyond Jupyter for macOS/Linux
  • Exercise 40: Advanced Developer Tools
  • Exercise 41: A Project Skeleton
  • Exercise 42: Doing Things to Lists
  • Exercise 43: Doing Things to Dictionaries
  • Exercise 44: From Dictionaries to Objects
  • Exercise 45: Basic Object-Oriented Programming
  • Exercise 46: Inheritance and Advanced OOP
  • Exercise 47: Basic Object-Oriented Analysis and Design
  • Exercise 48: Inheritance versus Composition
  • Exercise 49: You Make a Game
  • Exercise 50: Automated Testing
  • Module 4: Python and Data Science
  • Exercise 51: What Is Data Munging?
  • Exercise 52: Scraping Data from the Web
  • Exercise 53: Getting Data from APIs
  • Exercise 54: Data Conversion with pandas
  • Exercise 55: How to Read Documentation (Featuring pandas)
  • Exercise 56: Using Only pandas
  • Exercise 57: The SQL Crash Course
  • Exercise 58: SQL Normalization
  • Exercise 59: SQL Relationships
  • Exercise 60: Advice from an Even Older Programmer

Need help?Get in touch