Beginning Programming with Python For Dummies

Beginning Programming with Python For Dummies

by John Paul Mueller


View All Available Formats & Editions
Members save with free shipping everyday! 
See details


The easy way to learn programming fundamentals with Python

Python is a remarkably powerful and dynamic programming language that's used in a wide variety of application domains. Some of its key distinguishing features include a very clear, readable syntax, strong introspection capabilities, intuitive object orientation, and natural expression of procedural code. Plus, Python features full modularity, supporting hierarchical packages, exception-based error handling, and modules easily written in C, C++, Java, R, or .NET languages, such as C#. In addition, Python supports a number of coding styles that include: functional, imperative, object-oriented, and procedural.

Due to its ease of use and flexibility, Python is constantly growing in popularity—and now you can wear your programming hat with pride and join the ranks of the pros with the help of this guide. Inside, expert author John Paul Mueller gives a complete step-by-step overview of all there is to know about Python. From performing common and advanced tasks, to collecting data, to interacting with package—this book covers it all!

  • Use Python to create and run your first application
  • Find out how to troubleshoot and fix errors
  • Learn to work with Anaconda and use Magic Functions
  • Benefit from completely updated and revised information since the last edition

If you've never used Python or are new to programming in general, Beginning Programming with Python For Dummies is a helpful resource that will set you up for success.

Product Details

ISBN-13: 9781119457893
Publisher: Wiley
Publication date: 02/13/2018
Series: For Dummies Books
Pages: 416
Sales rank: 421,172
Product dimensions: 7.30(w) x 9.20(h) x 0.90(d)

About the Author

John Paul Mueller is a freelance author and technical editor with more than 107 books and 600 articles to his credit. His subjects range from networking and artificial intelligence to database management and heads-down programming. He also consults and writes certification exams. Visit his website at

Table of Contents

Introduction 1

About This Book 1

Foolish Assumptions 2

Icons Used in This Book 3

Beyond the Book 3

Where to Go from Here 4

Part 1: Getting Started with Python 5

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

Part 2: Talking the Talk 101

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

Part 3: Performing Common Tasks 195

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

Part 4: Performing Advanced Tasks 303

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

Part 5: The Part of Tens 341

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

Customer Reviews