HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. 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.
In just 24 sessions of one hour or less, Sams Teach Yourself Python Programming for Raspberry Pi in 24 Hours teaches you Python programmingon Raspberry Pi, so you can start creating awesome projects for homeautomation, home theater, gaming, and more. Using this book’s straightforward,step-by-step approach, you’ll move from the absolute basics all theway through network and web connections, multimedia, and even connectingwith electronic circuits for sensing and robotics. Every lesson and casestudy application builds on what you’ve already learned, giving you arock-solid foundation for real-world success!
Step-by-step instructions carefully walk you through the most common Raspberry Pi Python programming tasks.
Quizzes at the end of each chapter help you test your knowledge.
By the Way notes present interesting information related to the discussion.
Did You Know? tips offer advice or show you easier ways to perform tasks.
Watch Out! cautions alert you to possible problems and give you advice on how to avoid them.
Introduction 1
Programming with Python 1
Who Should Read This Book? 2
Conventions Used in This Book 3
Part I: The Raspberry Pi Programming Environment
HOUR 1: Setting Up the Raspberry Pi 7
What Is a Raspberry Pi? 7
Acquiring a Raspberry Pi 9
What Raspberry Pi Peripherals Are Necessary? 11
Nice Additional Peripherals 17
Deciding How to Purchase Peripherals 19
Getting Your Raspberry Pi Working 19
Troubleshooting Your Raspberry Pi 24
Summary 25
Q&A 25
Workshop 26
HOUR 2: Understanding the Raspbian Linux Distribution 27
Learning About Linux 27
Interacting with the Raspbian Command Line 28
Interacting with the Raspbian GUI 33
Summary 43
Q&A 43
Workshop 44
HOUR 3: Setting Up a Programming Environment 45
Exploring Python 45
Checking Your Python Environment 46
Installing Python and Tools 48
Learning About the Python Interpreter 50
Learning About the Python Interactive Shell 51
Learning About the Python Development Environment Shell 54
Creating Python Scripts 59
Knowing Which Tool to Use and When 65
Summary 66
Q&A 66
Workshop 67
Part II: Python Fundamentals
HOUR 4: Understanding Python Basics 71
Producing Python Script Output 71
Formatting Scripts for Readability 78
Understanding Python Variables 81
Assigning Value to Python Variables 82
Learning About Python Data Types 86
Allowing Python Script Input 88
Summary 94
Q&A 95
Workshop 95
HOUR 5: Using Arithmetic in Your Programs 97
Working with Math Operators 97
Calculating with Fractions 103
Using Complex Number Math 105
Getting Fancy with the math Module 106
Using the NumPy Math Libraries 110
Summary 112
Q&A 113
Workshop 113
HOUR 6: Controlling Your Program 115
Working with the if Statement 115
Grouping Multiple Statements 117
Adding Other Options with the else Statement 118
Adding More Options Using the elif Statement 120
Comparing Values in Python 121
Checking Complex Conditions 126
Negating a Condition Check 127
Summary 128
Q&A 129
Workshop 129
HOUR 7: Learning About Loops 131
Performing Repetitive Tasks 131
Using the for Loop for Iteration 132
Using the while Loop for Iteration 143
Creating Nested Loops 149
Summary 150
Q&A 150
Workshop 151
Part III: Advanced Python
HOUR 8: Using Lists and Tuples 155
Introducing Tuples 155
Introducing Lists 160
Using Multidimensional Lists to Store Data 167
Working with Lists and Tuples in Your Scripts 168
Creating Lists by Using List Comprehensions 170
Working with Ranges 170
Summary 172
Q&A 172
Workshop 172
HOUR 9: Dictionaries and Sets 175
Understanding Python Dictionary Terms 175
Exploring Dictionary Basics 176
Programming with Dictionaries 182
Understanding Python Sets 187
Exploring Set Basics 187
Obtaining Information from a Set 189
Modifying a Set 192
Programming with Sets 193
Summary 197
Q&A 197
Workshop 197
HOUR 10: Working with Strings 199
The Basics of Using Strings 199
Using Functions to Manipulate Strings 202
Formatting Strings for Output 209
Summary 215
Q&A 215
Workshop 215
HOUR 11: Using Files 217
Understanding Linux File Structures 217
Opening a File 221
Reading a File 224
Closing a File 230
Writing to a File 231
Summary 237
Q&A 237
Workshop 238
HOUR 12: Creating Functions 239
Utilizing Python Functions in Your Programs 239
Returning a Value 243
Passing Values to Functions 244
Handling Variables in a Function 250
Using Lists with Functions 253
Using Recursion with Functions 254
Summary 255
Q&A 256
Workshop 256
HOUR 13: Working with Modules 257
Introducing Module Concepts 257
Exploring Standard Modules 259
Learning About Python Modules 261
Creating Custom Modules 265
Summary 275
Q&A 275
Workshop 276
HOUR 14: Exploring the World of Object-Oriented Programming 277
Understanding the Basics of Object-Oriented Programming 277
Defining Class Methods 280
Sharing Your Code with Class Modules 287
Summary 290
Q&A 290
Workshop 290
HOUR 15: Employing Inheritance 293
Learning About the Class Problem 293
Understanding Subclasses and Inheritance 294
Using Inheritance in Python 296
Using Inheritance in Python Scripts 302
Summary 314
Q&A 314
Workshop 315
HOUR 16: Regular Expressions 317
What Are Regular Expressions? 317
Working with Regular Expressions in Python 319
Defining Basic Patterns 321
Using Advanced Regular Expressions Features 330
Working with Regular Expressions in Your Python Scripts 332
Summary 334
Q&A 335
Workshop 335
HOUR 17: Exception Handling 337
Understanding Exceptions 337
Handling Exceptions 342
Handling Multiple Exceptions 344
Summary 357
Q&A 357
Workshop 357
Part IV: Graphical Programming
HOUR 18: GUI Programming 361
Programming for a GUI Environment 361
Examining Python GUI Packages 363
Using the tkinter Package 364
Exploring the tkinter Widgets 372
Summary 384
Q&A 384
Workshop 384
HOUR 19: Game Programming 387
Understanding Game Programming 387
Learning About Game Frameworks and Libraries 388
Setting Up the PyGame Library 389
Using PyGame 394
Learning More About PyGame 403
Dealing with PyGame Action 408
Summary 418
Q&A 418
Workshop 418
Part V: Business Programming
HOUR 20: Using the Network 423
Finding the Python Network Modules 423
Working with Email Servers 424
Working with Web Servers 432
Linking Programs Using Socket Programming 438
Summary 445
Q&A 445
Workshop 446
HOUR 21: Using Databases in Your Programming 447
Working with the MySQL Database 447
Using the PostgreSQL Database 458
Summary 466
Q&A 466
Workshop 467
HOUR 22: Web Programming 469
Running a Web Server on the Pi 469
Programming with the Common
Gateway Interface 473
Expanding Your Python Webpages 475
Processing Forms 482
Summary 488
Q&A 488
Workshop 488
Part VI: Raspberry Pi Python Projects1
HOUR 23: Creating Basic Pi/Python Projects 493
Thinking About Basic Pi/Python Projects 493
Displaying HD Images via Python 493
Playing Music 514
Creating a Special Presentation 521
Summary 526
Q&A 526
Workshop 526
HOUR 24: Working with Advanced Pi/Python Projects 529
Exploring the GPIO Interface 529
Using the RPi.GPIO Module 535
Controlling GPIO Output 536
Detecting GPIO Input 542
Summary 548
Q&A 549
Workshop 549
Part VII: Appendix
APPENDIX A: Loading the Raspbian Operating System onto an SD Card 553
Windows: Loading Raspbian onto an SD Card 553
Linux: Loading Raspbian onto an SD Card 556
Mac: Loading Raspbian onto an SD Card 558
Index 561