SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
All You Need to Know, and Nothing You Don't, to Solve Real Problems with Python
Python is one of the most popular programming languages in the world, used for everything from shell scripts to web development to data science. As a result, Python is a great language to learn, but you don't need to learn "everything" to get started, just how to use it efficiently to solve real problems. In Learn Enough Python to Be Dangerous, renowned instructor Michael Hartl teaches the specific concepts, skills, and approaches you need to be professionally productive.
Even if you've never programmed before, Hartl helps you quickly build technical sophistication and master the lore you need to succeed. Hartl introduces Python both as a general-purpose language and as a specialist tool for web development and data science, presenting focused examples and exercises that help you internalize what matters, without wasting time on details pros don't care about. Soon, it'll be like you were born knowing this stuff--and you'll be suddenly, seriously dangerous.
Learn enough about . . .
Michael Hartl's Learn Enough Series includes books and video courses that focus on the most important parts of each subject, so you don't have to learn everything to get started--you just have to learn enough to be dangerous and solve technical problems yourself.
Like this book? Don't miss Michael Hartl's companion video tutorial, Learn Enough Python to Be Dangerous LiveLessons.
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Testing and Test-Driven Development
Download the sample pages (includes Chapter 8)
Preface xiii
Acknowledgments xvii
About the Author xix
Chapter 1: Hello, World! 1
1.1 Introduction to Python 6
1.2 Python in a REPL 11
1.3 Python in a File 13
1.4 Python in a Shell Script 16
1.5 Python in a Web Browser 18
Chapter 2: Strings 35
2.1 String Basics 35
2.2 Concatenation and Interpolation 38
2.3 Printing 44
2.4 Length, Booleans, and Control Flow 46
2.5 Methods 56
2.6 String Iteration 62
Chapter 3: Lists 69
3.1 Splitting 69
3.2 List Access 71
3.3 List Slicing 74
3.4 More List Techniques 77
3.5 List Iteration 83
3.6 Tuples and Sets 86
Chapter 4: Other Native Objects 91
4.1 Math 91
4.2 Times and Datetimes 97
4.3 Regular Expressions 103
4.4 Dictionaries 109
4.5 Application: Unique Words 115
Chapter 5: Functions and Iterators 121
5.1 Function Definitions 121
5.2 Functions in a File 130
5.3 Iterators 138
Chapter 6: Functional Programming 149
6.1 List Comprehensions 150
6.2 List Comprehensions with Conditions 156
6.3 Dictionary Comprehensions 159
6.4 Generator and Set Comprehensions 163
6.5 Other Functional Techniques 165
Chapter 7: Objects and Classes 169
7.1 Defining Classes 169
7.2 Custom Iterators 176
7.3 Inheritance 179
7.4 Derived Classes 183
Chapter 8: Testing and Test-Driven Development 191
8.1 Package Setup 192
8.2 Initial Test Coverage 197
8.3 Red 209
8.4 Green 214
8.5 Refactor 220
Chapter 9: Shell Scripts 231
9.1 Reading from Files 231
9.2 Reading from URLs 240
9.3 DOM Manipulation at the Command Line 245
Chapter 10: A Live Web Application 255
10.1 Setup 256
10.2 Site Pages 263
10.3 Layouts 271
10.4 Template Engine 280
10.5 Palindrome Detector 293
10.6 Conclusion 316
Chapter 11: Data Science 319
11.1 Data Science Setup 320
11.2 Numerical Computations with NumPy 327
11.3 Data Visualization with Matplotlib 338
11.4 Introduction to Data Analysis with pandas 353
11.5 pandas Example: Nobel Laureates 361
11.6 pandas Example: Titanic 377
11.7 Machine Learning with scikit-learn 386
11.8 Further Resources and Conclusion 403
Index 405