Learning Python with Raspberry Pi
John Wiley & Sons Inc (Verlag)
978-1-118-71705-9 (ISBN)
The must-have companion guide to the Raspberry Pi User Guide!
Raspberry Pi chose Python as its teaching language of choice to encourage a new generation of programmers to learn how to program. This approachable book serves as an ideal resource for anyone wanting to use Raspberry Pi to learn to program and helps you get started with the Python programming language. Aimed at first-time developers with no prior programming language assumed, this beginner book gets you up and running.
Covers variables, loops, and functions
Addresses 3D graphics programming
Walks you through programming Minecraft
Zeroes in on Python for scripting
Learning Python with Raspberry Pi proves itself to be a fantastic introduction to coding.
Alex Bradbury (Cambridge, UK) is the Lead Software Developer on the Raspberry Pi. Russel Winder (London, UK) was Professor of Computer Science at Kings College London and is the co-author of several tech books, including Developing Java Software and Python for Rookies. He lectures on Python at Skills Matter.
Introduction 1
What Is Programming? 1
Why the Raspberry Pi? 2
How Does this Book Work? 2
Chapter 1 Getting Up and Running 5
Setting Up Your Raspberry Pi 5
Solving Problems 6
A Quick Tour of Raspbian 7
Using LXDE (Lightweight X11 Desktop Environment) 7
Using the Terminal 8
Changing Configurations with Raspi-Config 10
Installing Software 10
Python 3 11
The Python Interpreter 11
Running Python Programs 11
Summary 12
Chapter 2 A Really Quick Introduction to Python 13
Drawing Picture with Turtles 13
Using Loops 16
Conditionals: if, elif, and else 18
Using Functions and Methods to Structure Code 20
A Python Game of Cat and Mouse 21
Understanding Variables 24
Defining Functions 24
Looping Through the Game 25
Summary 26
Chapter 3 Python Basics 27
Variables, Values, and Types 27
Values Have Types 28
Storing Numbers 29
Keeping Text in Strings 30
Boolean: True or False 31
Converting Between Data Types 32
Test Your Knowledge 32
Exercise 1 33
Storing Values in Structures 33
Non-Sequential Values in Dictionaries and Sets 37
Test Your Knowledge 38
Controlling the Way the Program Flows 38
Moving Through Data with for Loops 39
Going Deeper with Nested Loops 40
Branching Execution with if Statements 41
Catching Exceptions 42
Exercise 2 43
Making Code Reusable with Functions 43
Optional Parameters 46
Bringing Everything Together 46
Exercise 3 48
Building Objects with Classes 49
Getting Extra Features from Modules 54
Summary 55
Solutions to Exercises 56
Exercise 1 56
Exercise 2 56
Exercise 3 56
Chapter 4 Graphical Programming 57
Graphical User Interface (GUI) Programming 58
Adding Controls 60
Test Your Knowledge 62
Exercise 1 62
Creating a Web Browser 62
Adding Window Menus 71
Test Your Knowledge 73
Exercise 2 73
Summary 74
Solutions to Exercises 74
Exercise 1 74
Exercise 2 76
Chapter 5 Creating Games 77
Building a Game 79
Initialising PyGame 82
Creating a World 86
Detecting Collisions 88
Moving Left and Right 90
Reaching the Goal 92
Making a Challenge 93
Making It Your Own 97
Adding Sound 98
Adding Scenery 99
Adding the Finishing Touches 101
Taking the Game to the Next Level 102
Realistic Game Physics 103
Summary 108
Chapter 6 Creating Graphics with OpenGL 109
Getting Modules 110
Creating a Spinning Cube 110
Vectors and Matrices 112
Bringing It All Together 116
Let There Be Light 120
Calculating the Distance of the Point from the Light Source 120
Calculating Reflecting Angles 121
Making the Screen Dance 126
Building the 3D Model 128
Calculating the Sound Level 129
Taking Things Further 135
Adding Some Texture 136
Summary 136
Chapter 7 Networked Python 139
Understanding Hosts, Ports, and Sockets 139
Locating Computers with IP Addresses 140
Building a Chat Server 141
Tweeting to the World 144
Weather Forecasts with JSON 147
Testing Your Knowledge 149
Exercise 1 149
Getting On the Web 149
Making Your Website Dynamic 151
Using Templates 153
Sending Data Back with Forms 153
Exercise 2 155
Keeping Things Secure 155
Summary 159
Solutions to Exercises 160
Exercise 1 160
Exercise 2 161
Chapter 8 Minecraft 163
Exploring Minecraft 164
Controlling Your Minecraft World 164
Creating Minecraft Worlds in Python 165
Building Worlds 166
Drawing Pictures 166
Taking Things Further 169
Making the Game Snake 169
Moving the Snake 173
Growing the Snake 173
Adding the Apples 174
Taking Things Further 175
Summary 175
Chapter 9 Multimedia 177
Using PyAudio to Get Sound into Your Computer 177
Recording the Sound 179
Speaking to Your Pi 180
Asking the Program Questions 181
Putting It All Together 182
Taking Things Further 184
Making Movies 184
Using USB Webcams 185
Adding Computer Vision Features with OpenCV 187
Taking Things Further 190
Using the Raspberry Pi Camera Module 190
Creating Live Streams 193
Taking Things Further 196
Summary 196
Chapter 10 Scripting 197
Getting Started with the Linux Command Line 197
Using the Subprocess Module 200
Command-Line Flags 202
Regular Expressions 203
Testing Your Knowledge 206
Scripting with Networking 207
Bringing It All Together 209
Working with Files in Python 216
Summary 217
Chapter 11 Interfacing with Hardware 219
Setting Up Your Hardware Options 219
Female to Male Jumper Wires 219
Pi Cobbler 220
Solderless Breadboard 221
Stripboards and Prototyping Boards 221
PCB Manufacturing 222
Getting the Best Tools 222
Wire Cutters/Strippers 222
Multimeters 222
Soldering Irons 222
Hardware Needed for this Chapter 223
The First Circuit 224
Protecting Your Pi 228
Power Limits 229
Getting Input 229
Expanding the GPIO Options with I2C, SPI, and Serial 231
The SPI Communications Protocol 231
The I2C Communications Protocol 235
The Serial Communications Protocol 236
Taking the Example Further 236
Arduino 236
PiFace 237
Gertboard 237
Wireless Inventor’s Kit 238
Trying Some Popular Projects 238
Robots 238
Home Automation 239
Burglar Alarms 239
Digital Art 239
Summary 239
Chapter 12 Testing and Debugging 241
Investigating Bugs by Printing Out the Values 241
Finding Bugs by Testing 245
Checking Bits of Code with Unit Tests 245
Getting More Assertive 250
Using Test Suites for Regression Testing 252
Testing the Whole Package 253
Making Sure Your Software’s Usable 254
How Much Should You Test? 254
Summary 255
Index 257
Verlagsort | New York |
---|---|
Sprache | englisch |
Maße | 191 x 234 mm |
Gewicht | 567 g |
Themenwelt | Mathematik / Informatik ► Informatik ► Web / Internet |
Informatik ► Weitere Themen ► Hardware | |
ISBN-10 | 1-118-71705-8 / 1118717058 |
ISBN-13 | 978-1-118-71705-9 / 9781118717059 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich