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, Fifth Edition, 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
- Organize 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.
This Book Is Perfect For
- Total beginners with zero programming experience
- Junior developers who know one or two languages
- Returning professionals who haven't written code in years
- Aspiring Data Scientists or academics who need to learn to code
- Seasoned professionals looking for a fast, simple crash course in Python for Data Science
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
- Title
- Learn Python the Hard Way, 5th Edition
- Subtitle
- A Deceptively Simple Introduction to the Terrifyingly Beautiful World of Computers and Data Science
- Publisher
- Addison-Wesley Professional
- Author(s)
- Zed A. Shaw
- Published
- 2024-03-13
- Edition
- 5
- Format
- eBook (pdf, epub, mobi)
- Pages
- 352
- Language
- English
- ISBN-10
- 0138270570
- ISBN-13
- 9780138270575
- License
- Read online for free
- Book Homepage
- Free eBook, Errata, Code, Solutions, etc.
Cover Page About This eBook Halftitle Page Title Page Copyright Page Contents Preface Improvements in the Fifth Edition Acknowledgments Module 1: Getting Started in Python Exercise 0. Gearing Up General Instructions Minimalist Start Complete Instructions Testing Your Setup Learning the Command Line Next Steps Exercise 1. A Good First Program What You Should See Study Drills Common Student Questions The Blue Plus Exercise 2. Comments and Pound Characters What You Should See Study Drills Common Student Questions Exercise 3. Numbers and Math What You Should See Study Drills Common Student Questions Exercise 4. Variables and Names What You Should See Study Drills Common Student Questions Exercise 5. More Variables and Printing What You Should See Study Drills Common Student Questions Exercise 6. Strings and Text What You Should See Study Drills Break It Common Student Questions Exercise 7. Combining Strings What You Should See Study Drills Break It Common Student Questions Exercise 8. Formatting Strings Manually What You Should See Study Drills Common Student Questions Exercise 9. Multi-Line Strings What You Should See Study Drills Common Student Questions Exercise 10. Escape Codes in Strings What You Should See Escape Sequences Study Drills Common Student Questions Exercise 11. Asking People Questions What You Should See Study Drills Common Student Questions Exercise 12. An Easier Way to Prompt What You Should See Study Drills Common Student Questions Exercise 13. Parameters, Unpacking, Variables Code Description Hold Up! Features Have Another Name What You Should See Study Drills Common Student Questions Exercise 14. Prompting and Passing What You Should See Study Drills Common Student Questions Exercise 15. Reading Files What You Should See Study Drills Common Student Questions Exercise 16. Reading and Writing Files What You Should See Study Drills Common Student Questions Exercise 17. More Files What You Should See Study Drills Common Student Questions Module 2: The Basics of Programming Exercise 18. Names, Variables, Code, Functions Exercise Code What You Should See Study Drills Common Student Questions Exercise 19. Functions and Variables What You Should See Study Drills Common Student Questions Exercise 20. Functions and Files What You Should See Study Drills Common Student Questions Exercise 21. Functions Can Return Something What You Should See Study Drills Common Student Questions Exercise 22. Strings, Bytes, and Character Encodings Initial Research Switches, Conventions, and Encodings Dissecting the Output Dissecting the Code Encodings Deep Dive Breaking It Exercise 23. Introductory Lists Accessing Elements of a List Practicing Lists The Code The Challenge Final Challenge Exercise 24. Introductory Dictionaries Key/Value Structures Combining Lists with Data Objects The Code What You Should See The Challenge Final Challenge Exercise 25. Dictionaries and Functions Step 1: Function Names Are Variables Step 2: Dictionaries with Variables Step 3: Dictionaries with Functions Step 4: Deciphering the Last Line Study Drill Exercise 26. Dictionaries and Modules Step 1: Review of import Step 2: Find the __dict__ Step 3: Change the __dict__ Study Drill: Find the “Dunders” Exercise 27. The Five Simple Rules to the Game of Code Rule 1: Everything Is a Sequence of Instructions Rule 2: Jumps Make the Sequence Non-Linear Rule 3: Tests Control Jumps Rule 4: Storage Controls Tests Rule 5: Input/Output Controls Storage Putting It All Together Exercise 28. Memorizing Logic The Truth Terms The Truth Tables Common Student Questions Exercise 29. Boolean Practice What You Should See Study Drills Common Student Questions Exercise 30. What If What You Should See dis() It Study Drill Common Student Questions Exercise 31. Else and If What You Should See dis() It Study Drills Common Student Questions Exercise 32. Making Decisions What You Should See dis() It Study Drills Common Student Questions Exercise 33. Loops and Lists What You Should See dis() It Study Drills Common Student Questions Exercise 34. While Loops What You Should See dis() It Study Drills Common Student Questions Exercise 35. Branches and Functions What You Should See Study Drills Common Student Questions Exercise 36. Designing and Debugging From Idea to Working Code Rules for If-Statements Rules for Loops Tips for Debugging Homework Exercise 37. Symbol Review Keywords Data Types String Escape Sequences Old-Style String Formats Operators Reading Code Study Drills Common Student Questions Module 3: Applying What You Know Exercise 38. Beyond Jupyter for Windows Why Learn PowerShell? What Is PowerShell? Crash Landing Exercise 39. Beyond Jupyter for macOS/Linux macOS Troubles Why Learn Bash or ZSH? What Is Bash? Crash Landing Exercise 40. Advanced Developer Tools Managing conda Environments Adding conda-forge Using pip Using a .condarc General Editing Tips Going Further Exercise 41. A Project Skeleton Activate an Environment Just Use cookiecutter Building Your Project Installing Your Project Testing the Install Remove test-project Common Errors Study Drills Exercise 42. Doing Things to Lists What You Should See What Lists Can Do When to Use Lists Study Drills Common Student Questions Exercise 43. Doing Things to Dictionaries A Dictionary Example What You Should See What Dictionaries Can Do Study Drills Common Student Questions Exercise 44. From Dictionaries to Objects Step 1: Passing a Dict to a Function Step 2: talk inside the Dict Step 3: Closures Step 4: A Person Constructor Study Drills Exercise 45. Basic Object-Oriented Programming Python’s People Using dir() and __dict__ About the Dot (.) Terminology A Word on self Study Drills Common Student Questions Exercise 46. Inheritance and Advanced OOP How This Looks in Code About class Name(object) Study Drills Common Student Questions Exercise 47. Basic Object-Oriented Analysis and Design The Analysis of a Simple Game Engine Top Down versus Bottom Up The Code for “Gothons from Planet Percal #25” What You Should See Study Drills Common Student Questions Exercise 48. Inheritance versus Composition What Is Inheritance? The Reason for super() Composition When to Use Inheritance or Composition Study Drill Common Student Questions Exercise 49. You Make a Game Evaluating Your Game Function Style Class Style Code Style Good Comments Evaluate Your Game Exercise 50. Automated Testing What Is the Purpose of Testing? How to Test Efficiently Install PyTest Simple PyTest Demo Running pytest Exceptions and try/except Getting Coverage Reports Study Drills Common Student Questions Module 4: Python and Data Science Exercise 51. What Is Data Munging? Why Data Munging? The Problem The Setup How to Code Process Example Solution Strategies Awesome ETL Tools Study Drills Exercise 52. Scraping Data from the Web Introducing with The Problem The Setup The Clue Awesome Scraping Tools Study Drills Exercise 53. Getting Data from APIs Introducing JSON The Problem The Setup The Clue Awesome API Tools Study Drills Exercise 54. Data Conversion with pandas Introducing Pandoc The Problem The Setup The Clue Study Drills Exercise 55. How to Read Documentation (Featuring pandas) Why Programmer Documentation Sucks How to Actively Read Programmer Docs Step #1: Find the Docs Step #2: Determine Your Strategy Step #3: Code First, Docs Second Step #4: Break or Change the Code Step #5: Take Notes Step #6: Use It on Your Own Step #7: Write About What You Learned Step #8: What’s the Gestalt? Reading My pandas Curriculum Exercise 56. Using Only pandas Make a Project The Problem The Setup Study Drill Exercise 57. The SQL Crash Course What Is SQL? The Setup Fixing and Loading Create, Read, Update, Delete SELECT Date and Time INSERT UPDATE DELETE and Transactions Math, Aggregates, and GROUP BY Python Access Exercise 58. SQL Normalization What Is Normalization? First Normal Form Second Normal Form (2NF) Querying 2NF Data Querying with Joins Study Drills Exercise 59. SQL Relationships One-to-Many (1:M) Many-to-Many (M:M) One-to-One (1:1) Attributed Relations Querying M:M Tables Your Last Study Drill Exercise 60. Advice from an Even Older Programmer Index Code Snippets