Beginning Programming with Python For Dummies, 2nd Edition

by John Paul Mueller

at a Glace

Part 1: Getting Started with Python
Talking to Your Computer.
Getting Your Own Copy of Python
Interacting with Python
Writing Your First Application
Working with Anaconda
Part 2: Talking the Talk
Storing and Modifying Information
Managing Information
Making Decisions
Performing Repetitive Tasks
Dealing with Errors
Part 3: Performing Common Tasks
Interacting with Packages
Working with Strings
Managing Lists
Collecting All Sorts of Data
Creating and Using Classes
Part 4: Performing Advanced Tasks
Storing Data in Files
Sending an Email
Part 5: The Part of Tens
Ten Amazing Programming Resources
Ten Ways to Make a Living with Python
Ten Tools That Enhance Your Python Experience
Ten (Plus) Libraries You Need to Know About

e-books shop
e-books shop
Purchase Now !
Just with Paypal

Book Details
 4.00 USD
 411 p
 File Size
 8,815 KB
 File Type
 PDF format
 978-1-119-45787-9 (ebk)
 978-1-119-45790-9 (ebk)
 2018 by John Wiley & Sons, Inc 

Python is an example of a language that does everything right within the
domain of things that it’s designed to do. This isn’t just me saying it, either:
Programmers have voted by using Python enough that it’s now the
fifth-ranked language in the world (see for details). 
The amazing thing about Python is that you really can write an application
on one platform and use it on every other platform that you need to
support. In contrast to other programming languages that promised to provide
platform independence, Python really does make that independence possible. In
this case, the promise is as good as the result you get.
Python emphasizes code readability and a concise syntax that lets you write applications
using fewer lines of code than other programming languages require.

You can also use a coding style that meets your needs, given that Python supports
the functional, imperative, object-oriented, and procedural coding styles (see
Chapter 3 for details). In addition, because of the way Python works, you find it
used in all sorts of fields that are filled with nonprogrammers. Beginning
Programming with Python for Dummies, 2nd Edition is designed to help everyone,
including nonprogrammers, get up and running with Python quickly.

Some people view Python as a scripted language, but it really is so much more.
(Chapter 18 gives you just an inkling of the occupations that rely on Python to
make things work.) However, Python it does lend itself to educational and other
uses for which other programming languages can fall short. In fact, this book uses
Jupypter Notebook for examples, which relies on the highly readable literate programming
paradigm advanced by Stanford computer scientist Donald Knuth (see
Chapter 4 for details). Your examples end up looking like highly readable reports
that almost anyone can understand with ease.

About This Book
and running with Python quickly. You want to learn the language fast so that you
can become productive in using it to perform your real job, which could be anything.
Unlike most books on the topic, this one starts you right at the beginning
by showing you what makes Python different from other languages and how it can
help you perform useful work in a job other than programming. As a result, you
gain an understanding of what you need to do from the start, using hands-on
examples and spending a good deal of time performing actually useful tasks. You
even get help with installing Python on your particular system.

When you have a good installation on whatever platform you’re using, you start
with the basics and work your way up. By the time you finish working through the
examples in this book, you’ll be writing simple programs and performing tasks
such as sending an email using Python. No, you won’t be an expert, but you will
be able to use Python to meet specific needs in the job environment. To make
absorbing the concepts even easier, this book uses the following conventions:
»»Text that you’re meant to type just as it appears in the book is bold. The
exception is when you’re working through a step list: Because each step is
bold, the text to type is not bold.

»»When you see words in italics as part of a typing sequence, you need to replace
that value with something that works for you. For example, if you see “Type Your
Name and press Enter,” you need to replace Your Name with your actual name.
»»Web addresses and programming code appear in monofont. If you’re reading
a digital version of this book on a device connected to the Internet, note that
you can click the web address to visit that website, like this:
»»When you need to type command sequences, you see them separated by a
special arrow, like this: File ➪ New File. In this case, you go to the File menu
first and then select the New File entry on that menu. The result is that you
see a new file created.

Table of Contents
About This Book. 1
Foolish Assumptions. 2
Icons Used in This Book. 3
Beyond the Book. 3
Where to Go from Here. 4
CHAPTER 1: Talking to Your Computer . 7
Understanding Why You Want to Talk to Your Computer. 8
Knowing that an Application is a Form of Communication. 9
Thinking about procedures you use daily. 9
Writing procedures down. 10
Seeing applications as being like any other procedure. 11
Understanding that computers take things literally. 11
Defining What an Application Is . 11
Understanding that computers use a special language . 12
Helping humans speak to the computer. 12
Understanding Why Python Is So Cool. 14
Unearthing the reasons for using Python. 14
Deciding how you can personally benefit from Python. 15
Discovering which organizations use Python. 16
Finding useful Python applications. 17
Comparing Python to other languages . 18
CHAPTER 2: Getting Your Own Copy of Python. 21
Downloading the Version You Need. 21
Installing Python . 24
Working with Windows. 25
Working with the Mac. 27
Working with Linux. 28
Accessing Python on Your Machine. 31
Using Windows . 32
Using the Mac . 34
Using Linux. 35
Testing Your Installation. 35
CHAPTER 3: Interacting with Python. 37
Opening the Command Line. 38
Starting Python . 38
Using the command line to your advantage. 39
Using Python environment variables to your advantage . 41
Typing a Command. 43
Telling the computer what to do. 43
Telling the computer you’re done. 44
Seeing the result. 44
Using Help . 46
Getting into help mode. 46
Asking for help. 47
Leaving help mode . 49
Obtaining help directly. 50
Closing the Command Line. 51
CHAPTER 4: Writing Your First Application. 55
Understanding Why IDEs Are Important. 56
Creating better code. 56
Debugging functionality. 56
Defining why notebooks are useful . 57
Obtaining Your Copy of Anaconda. 58
Obtaining Analytics Anaconda. 58
Installing Anaconda on Linux. 59
Installing Anaconda on MacOS. 60
Installing Anaconda on Windows . 61
Downloading the Datasets and Example Code. 64
Using Jupyter Notebook. 64
Defining the code repository. 65
Creating the Application. 71
Understanding cells 71
Adding documentation cells . 74
Other cell content. 75
Understanding the Use of Indentation . 75
Adding Comments. 77
Understanding comments. 78
Using comments to leave yourself reminders . 79
Using comments to keep code from executing . 80
Closing Jupyter Notebook.  80
CHAPTER 5: Working with Anaconda. 83
Downloading Your Code. 84
Working with Checkpoints. 85
Defining the uses of checkpoints . 85
Saving a checkpoint. 86
Restoring a checkpoint. 86
Manipulating Cells. 86
Adding various cell types. 87
Splitting and merging cells. 87
Moving cells around . 88
Running cells . 88
Toggling outputs. 90
Changing Jupyter Notebook’s Appearance . 90
Finding commands using the Command Palette. 91
Working with line numbers. 92
Using the Cell Toolbar features. 93
Interacting with the Kernel. 94
Obtaining Help. 95
Using the Magic Functions. 97
Viewing the Running Processes. 99
CHAPTER 6: Storing and Modifying Information. 103
Storing Information. 104
Seeing variables as storage boxes . 104
Using the right box to store the data. 104
Defining the Essential Python Data Types. 105
Putting information into variables . 105
Understanding the numeric types . 106
Understanding Boolean values. 110
Understanding strings . 110
Working with Dates and Times. 111
CHAPTER 7: Managing Information. 113
Controlling How Python Views Data. 114
Making comparisons. 114
Understanding how computers make comparisons. 115
Working with Operators. 115
Defining the operators. 116
Understanding operator precedence. 122
Creating and Using Functions. 123
Viewing functions as code packages. 124
Understanding code reusability . 124
Defining a function. 125
Accessing functions. 126
Sending information to functions. 127
Returning information from functions. 131
Comparing function output. 132
Getting User Input. 132
CHAPTER 8: Making Decisions. 135
Making Simple Decisions by Using the if Statement . 136
Understanding the if statement . 136
Using the if statement in an application . 137
Choosing Alternatives by Using the if. . .else Statement. 141
Understanding the if. . .else statement . 141
Using the if. . .else statement in an application . 142
Using the if. . .elif statement in an application. 143
Using Nested Decision Statements. 146
Using multiple if or if. . .else statements. 146
Combining other types of decisions. 148
CHAPTER 9: Performing Repetitive Tasks. 151
Processing Data Using the for Statement. 152
Understanding the for statement. 152
Creating a basic for loop. 153
Controlling execution with the break statement . 153
Controlling execution with the continue statement. 156
Controlling execution with the pass clause. 157
Controlling execution with the else statement. 158
Processing Data by Using the while Statement . 159
Understanding the while statement. 160
Using the while statement in an application. 161
Nesting Loop Statements. 162
CHAPTER 10: Dealing with Errors. 165
Knowing Why Python Doesn’t Understand You. 166
Considering the Sources of Errors . 167
Classifying when errors occur. 168
Distinguishing error types. 169
Catching Exceptions . 171
Basic exception handling. 171
Handling more specific to less specific exceptions . 183
Nested exception handling . 185
Raising Exceptions. 189
Raising exceptions during exceptional conditions. 189
Passing error information to the caller . 190
Creating and Using Custom Exceptions. 191
Using the finally Clause . 192
CHAPTER 11: Interacting with Packages. 197
Creating Code Groupings. 198
Understanding the package types . 200
Considering the package cache. 201
Importing Packages. 202
Using the import statement. 203
Using the from. . .import statement. 205
Finding Packages on Disk. 207
Downloading Packages from Other Sources. 209
Opening the Anaconda Prompt. 210
Working with conda packages. 210
Installing packages by using pip. 215
Viewing the Package Content . 216
Viewing Package Documentation. 219
Opening the Pydoc application. 219
Using the quick-access links. 220
Typing a search term . 221
Viewing the results . 222
CHAPTER 12: Working with Strings. 225
Understanding That Strings Are Different. 226
Defining a character by using numbers. 226
Using characters to create strings . 227
Creating Stings with Special Characters. 229
Selecting Individual Characters. 231
Slicing and Dicing Strings. 233
Locating a Value in a String . 236
Formatting Strings. 238
CHAPTER 13: Managing Lists. 243
Organizing Information in an Application. 244
Defining organization using lists. 244
Understanding how computers view lists. 245
Creating Lists. 246
Accessing Lists. 248
Looping through Lists. 249
Modifying Lists. 250
Searching Lists. 254
Sorting Lists . 255
Printing Lists. 257
Working with the Counter Object. 259
CHAPTER 14: Collecting All Sorts of Data. 261
Understanding Collections. 262
Working with Tuples. 263
Working with Dictionaries . 266
Creating and using a dictionary. 267
Replacing the switch statement with a dictionary. 270
Creating Stacks Using Lists. 273
Working with queues . 275
Working with deques . 278
CHAPTER 15: Creating and Using Classes. 281
Understanding the Class as a Packaging Method. .282
Considering the Parts of a Class. 284
Creating the class definition . 284
Considering the built-in class attributes . 285
Working with methods. 286
Working with constructors. 288
Working with variables. 290
Using methods with variable argument lists. 293
Overloading operators. 294
Creating a Class. 296
Defining the MyClass class. 296
Saving a class to disk. 297
Using the Class in an Application . 298
Extending Classes to Make New Classes. 299
Building the child class. 299
Testing the class in an application . 301
CHAPTER 16: Storing Data in Files. 305
Understanding How Permanent Storage Works.  306
Creating Content for Permanent Storage. 308
Creating a File . 311
Reading File Content. 314
Updating File Content. 317
Deleting a File. 321
CHAPTER 17: Sending an Email . 323
Understanding What Happens When You Send Email . 324
Viewing email as you do a letter. 325
Defining the parts of the envelope. 326
Defining the parts of the letter . 331
Creating the Email Message. 335
Working with a text message. 335
Working with an HTML message. 337
Seeing the Email Output. 338
CHAPTER 18: Ten Amazing Programming Resources. 343
Working with the Python Documentation Online. 344
Using the Tutorial. 345
Performing Web Programming by Using Python. 346
Getting Additional Libraries. 346
Creating Applications Faster by Using an IDE. 348
Checking Your Syntax with Greater Ease. 348
Using XML to Your Advantage. 349
Getting Past the Common Python Newbie Errors . 350
Understanding Unicode. 351
Making Your Python Application Fast. 352
CHAPTER 19: Ten Ways to Make a Living with Python. 353
Working in QA . 354
Becoming the IT Staff for a Smaller Organization . 355
Performing Specialty Scripting for Applications. 355
Administering a Network. 356
Teaching Programming Skills. 357
Helping People Decide on Location. 357
Performing Data Mining. 358
Interacting with Embedded Systems . 358
Carrying Out Scientific Tasks. 359
Performing Real-Time Analysis of Data. 359
CHAPTER 20: Ten Tools That Enhance Your
Python Experience . 361
Tracking Bugs with Roundup Issue Tracker. 362
Creating a Virtual Environment by Using VirtualEnv . 363
Installing Your Application by Using PyInstaller. 364
Building Developer Documentation by Using pdoc. 365
Developing Application Code by Using Komodo Edit. 366
Debugging Your Application by Using pydbgr. 367
Entering an Interactive Environment by Using IPython. 368
Testing Python Applications by Using PyUnit. 368
Tidying Your Code by Using Isort . 369
Providing Version Control by Using Mercurial . 370
CHAPTER 21: Ten (Plus) Libraries You Need to Know About. 371
Developing a Secure Environment by Using PyCrypto . 372
Interacting with Databases by Using SQLAlchemy. 372
Seeing the World by Using Google Maps. 373
Adding a Graphical User Interface by Using TkInter . 373
Providing a Nice Tabular Data Presentation by
Using PrettyTable . 374
Enhancing Your Application with Sound by Using PyAudio . 374
Manipulating Images by Using PyQtGraph. 375
Locating Your Information by Using IRLib. 376
Creating an Interoperable Java Environment by Using JPype. 377
Accessing Local Network Resources by Using Twisted Matrix. 378
Accessing Internet Resources by Using Libraries. 378
INDEX. 379

e-books shop

Beyond the Book
This book isn’t the end of your Python programming experience — it’s really just
the beginning. I provide online content to make this book more flexible and better
able to meet your needs. That way, as I receive email from you, I can do things like
address questions and tell you how updates to either Python or its associated
libraries affect book content. In fact, you gain access to all these cool additions:

»»Cheat sheet: You remember using crib notes in school to make a better mark
on a test, don’t you? You do? Well, a cheat sheet is sort of like that. It provides
you with some special notes about tasks that you can do with Python that not
every other developer knows. You can find the cheat sheet for this book by
going to and searching Beginning Programming For
Dummies, 2nd Edition Cheat Sheet. It contains really neat information like the
top ten mistakes developers make when working with Python and some of
the Python syntax that gives most developers problems.
»»Updates: Sometimes changes happen. For example, I might not have seen
an upcoming change when I looked into my crystal ball during the writing of
this book. In the past, that simply meant the book would become outdated
and less useful, but you can now find updates to the book at by going to and searching this book’s title.
In addition to these updates, check out the blog posts with answers to reader
questions and demonstrations of 
useful book-related techniques at
»»Companion files: Hey! Who really wants to type all the code in the book? Most
readers would prefer to spend their time actually working through coding
examples, rather than typing. Fortunately for you, the source code is available for
download, so all you need to do is read the book to learn Python coding techniques.
Each of the book examples even tells you precisely which example project
to use. You can find these files at going to and searching this
book’s title. On the page that appears, scroll down to the graphic of the book’s
cover and click it; then click More About This Book. 
Click the Downloads tab on the page that appears.
Loading... Protection Status