Description

Book Synopsis
A guide to completing Python projects for those ready to take their skills to the next level Python Projects is the ultimate resource for the Python programmer with basic skills who is ready to move beyond tutorials and start building projects.

Table of Contents

INTRODUCTION xxv

CHAPTER 1: REVIEWING CORE PYTHON 1

Exploring the Python Language and the Interpreter 2

Reviewing the Python Data Types 3

Numeric Types: Integer and Float 4

The Boolean Type 5

The None Type 6

Collection Types 6

Strings 7

Bytes and ByteArrays 8

Tuples 10

Lists 10

Dictionaries 12

Sets 13

Using Python Control Structures 15

Structuring Your Program 15

Using Sequences, Blocks and Comments 16

Selecting an Execution Path 17

Iteration 18

Handling Exceptions 20

Managing Context 21

Getting Data In and Out of Python 21

Interacting with Users 21

Using Text Files 23

Extending Python 24

Defining and Using Functions 24

Generator Functions 26

Lambda Functions 27

Defining and Using Classes and Objects 28

Creating and Using Modules and Packages 33

Using and Creating Modules 33

Using and Creating Packages 34

Creating an Example Package 36

Using Third‐Party Packages 42

Summary 43

CHAPTER 2: SCRIPTING WITH PYTHON 47

Accessing the Operating System 48

Obtaining Information about Users and Their Computer 49

Obtaining Information about the Current Process 53

Managing Other Programs 55

Managing Subprocesses More Effectively 58

Obtaining Information about Files (and Devices) 60

Navigating and Manipulating the File system 62

Plumbing the Directory Tree Depths 69

Working with Dates and Times 72

Using the time Module 72

Introducing the datetime Module 75

Introducing the calendar Module 76

Handling Common File Formats 76

Using Comma‐Separated Values 76

Working with Confi g Files 83

Working with XML and HTML Files 86

Parsing XML Files 86

Parsing HTML Files 89

Accessing Native APIs with ctypes and pywin32 93

Accessing the Operating System Libraries 94

Using ctypes with Windows 95

Using ctypes on Linux 96

Accessing a Windows Application Using COM 96

Automating Tasks Involving Multiple Applications 98

Using Python First 98

Using Operating System Utilities 98

Using Data Files 98

Using a Third‐Party Module 99

Interacting with Subprocesses via a CLI 99

Using Web Services for Server‐Based Applications 99

Using a Native Code API 100

Using GUI Robotics 100

Summary 100

CHAPTER 3: MANAGING DATA 103

Storing Data Using Python 104

Using DBM as a Persistent Dictionary 104

Using Pickle to Store and Retrieve Objects 109

Accessing Objects with shelve 111

Analyzing Data with Python 116

Analyzing Data Using Built‐In Features of Python 116

Analyzing Data with ittertools 119

Utility Functions 119

Data Processing Functions 121

Taming the Vagaries of groupby() 122

Using itertools to Analyze LendyDB Data 124

Managing Data Using SQL 125

Relational Database Concepts 126

Structured Query Language 127

Creating Tables 128

Inserting Data 129

Reading Data 130

Modifying Data 133

Linking Data across Tables 134

Digging Deeper into Data Constraints 134

Revisiting SQLite Field Types 135

Modeling Relationships with Constraints 136

Many‐to‐Many Relationships 140

Migrating LendyDB to an SQL Database 143

Accessing SQL from Python 143

Using SQL Connections 143

Using a Cursor 143

Creating the LendyDB SQL Database 145

Inserting Test Data 146

Creating a LendyDB API 148

Exploring Other Data Management Options 154

Client‐Server Databases 154

NoSQL 155

The Cloud 155

Data Analysis with RPy 156

Summary 157

CHAPTER 4: BUILDING DESKTOP APPLICATIONS 161

Structuring Applications 162

Building Command-Line Interfaces 164

Building the Data Layer 164

Building the Core Logic Layer 165

Building the User Interface 169

Using the cmd Module to Build a Command-Line Interface 173

Reading Command-Line Arguments 175

Jazzing Up the Command-Line Interface with Some Dialogs 177

Programming GUIs with Tkinter 181

Introducing Key GUI Principles 181

Event‐Based Programming 181

GUI Terminology 182

The Containment Tree 183

Building a Simple GUI 184

Building a Tic‐Tac‐Toe GUI 186

Sketching a UI Design 186

Building Menus 187

Building a Tic‐Tac‐Toe Board 188

Connecting the GUI to the Game 190

Extending Tkinter 194

Using Tix 194

Using ttk 198

Revisiting the Lending Library 199

Exploring Other GUI Toolkits for Python 206

wxPython 207

PyQt 207

PyGTK 208

Native GUIs: Cocoa and PyWin32 209

Dabo 209

Storing Local Data 210

Storing Application‐Specific Data 210

Storing User‐Selected Preferences 211

Storing Application State 212

Logging Error information 212

Understanding Localization 214

Using Locales 214

Using Unicode in Python 216

Using gettext 218

Summary 220

CHAPTER 5: PYTHON ON THE WEB 223

Python on the Web 224

Parts of a Web Application 225

The Client‐Server Relationship 226

Middleware and MVC 226

HTTP Methods and Headers 227

What Is an API? 230

Web Programming with Python 235

Using the Python HTTP Modules 235

Creating an HTTP Server 235

Exploring the Flask Framework 237

Creating Data Models in Flask 238

Creating Core Flask Files 239

More on Python and the Web 247

Static Site Generators 248

Web Frameworks 248

Using Python across the Wire 248

XML‐RPC 249

Socket Servers 250

More Networking Fun in Python 253

Summary 254

CHAPTER 6: PYTHON IN BIGGER PROJECTS 257

Testing with the Doctest Module 258

Testing with the Unittest Module 262

Test‐Driven Development in Python 267

Debugging Your Python Code 267

Handling Exceptions in Python 272

Working on Larger Python Projects 276

Releasing Python Packages 280

Summary 282

CHAPTER 7: EXPLORING PYTHON’S FRONTIERS 285

Drawing Pictures with Python 286

Using Turtle Graphics 286

Using GUI Canvas Objects 286

Plotting Data 287

Using imghdr 287

Introducing Pillow 287

Trying Out ImageMagick 287

Doing Science with Python 288

Introducing SciPy 288

Doing Bioscience with Python 290

Using GIS 290

Watching Your Language 290

Getting It All 290

Playing Games with Python 291

Enriching the Experience with PyGame 291

Exploring Other Options 291

Going to the Movies 292

The Computer Graphics Kit 292

Modeling and Animation 292

Photo Processing 292

Working with Audio 293

Integrating with Other Languages 293

Jython 293

IronPython 294

Cython 294

Tcl/Tk 295

Getting Physical 296

Introducing Serial Options 296

Programming the RaspberryPi 296

Talking to the Arduino 297

Exploring Other Options 297

Building Python 298

Fixing Bugs 298

Documenting 298

Testing 299

Adding Features 299

Attending Conferences 299

Summary 299

APPENDIX A: ANSWERS TO EXERCISES 303

Chapter 1 Solutions 303

Chapter 2 Solutions 305

Chapter 3 Solutions 306

Chapter 4 Solutions 311

Chapter 5 Solutions 315

Chapter 6 Solutions 316

Chapter 7 Solutions 317

APPENDIX B: PYTHON STANDARD MODULES 319

APPENDIX C: USEFUL PYTHON RESOURCES 327

Asking Questions: Mailing Lists and More 327

Reading Blogs 328

Studying Tutorials and References 328

Watching Videos 329

And Now for Something Completely Different… 329

REFERENCES 331

INDEX 333

Python Projects

Product form

£27.75

Includes FREE delivery

RRP £37.00 – you save £9.25 (25%)

Order before 4pm tomorrow for delivery by Tue 20 Jan 2026.

A Paperback / softback by Laura Cassell, Alan Gauld

Out of stock


    View other formats and editions of Python Projects by Laura Cassell

    Publisher: John Wiley & Sons Inc
    Publication Date: 20/01/2015
    ISBN13: 9781118908662, 978-1118908662
    ISBN10: 111890866X
    Also in:
    Web programming

    Description

    Book Synopsis
    A guide to completing Python projects for those ready to take their skills to the next level Python Projects is the ultimate resource for the Python programmer with basic skills who is ready to move beyond tutorials and start building projects.

    Table of Contents

    INTRODUCTION xxv

    CHAPTER 1: REVIEWING CORE PYTHON 1

    Exploring the Python Language and the Interpreter 2

    Reviewing the Python Data Types 3

    Numeric Types: Integer and Float 4

    The Boolean Type 5

    The None Type 6

    Collection Types 6

    Strings 7

    Bytes and ByteArrays 8

    Tuples 10

    Lists 10

    Dictionaries 12

    Sets 13

    Using Python Control Structures 15

    Structuring Your Program 15

    Using Sequences, Blocks and Comments 16

    Selecting an Execution Path 17

    Iteration 18

    Handling Exceptions 20

    Managing Context 21

    Getting Data In and Out of Python 21

    Interacting with Users 21

    Using Text Files 23

    Extending Python 24

    Defining and Using Functions 24

    Generator Functions 26

    Lambda Functions 27

    Defining and Using Classes and Objects 28

    Creating and Using Modules and Packages 33

    Using and Creating Modules 33

    Using and Creating Packages 34

    Creating an Example Package 36

    Using Third‐Party Packages 42

    Summary 43

    CHAPTER 2: SCRIPTING WITH PYTHON 47

    Accessing the Operating System 48

    Obtaining Information about Users and Their Computer 49

    Obtaining Information about the Current Process 53

    Managing Other Programs 55

    Managing Subprocesses More Effectively 58

    Obtaining Information about Files (and Devices) 60

    Navigating and Manipulating the File system 62

    Plumbing the Directory Tree Depths 69

    Working with Dates and Times 72

    Using the time Module 72

    Introducing the datetime Module 75

    Introducing the calendar Module 76

    Handling Common File Formats 76

    Using Comma‐Separated Values 76

    Working with Confi g Files 83

    Working with XML and HTML Files 86

    Parsing XML Files 86

    Parsing HTML Files 89

    Accessing Native APIs with ctypes and pywin32 93

    Accessing the Operating System Libraries 94

    Using ctypes with Windows 95

    Using ctypes on Linux 96

    Accessing a Windows Application Using COM 96

    Automating Tasks Involving Multiple Applications 98

    Using Python First 98

    Using Operating System Utilities 98

    Using Data Files 98

    Using a Third‐Party Module 99

    Interacting with Subprocesses via a CLI 99

    Using Web Services for Server‐Based Applications 99

    Using a Native Code API 100

    Using GUI Robotics 100

    Summary 100

    CHAPTER 3: MANAGING DATA 103

    Storing Data Using Python 104

    Using DBM as a Persistent Dictionary 104

    Using Pickle to Store and Retrieve Objects 109

    Accessing Objects with shelve 111

    Analyzing Data with Python 116

    Analyzing Data Using Built‐In Features of Python 116

    Analyzing Data with ittertools 119

    Utility Functions 119

    Data Processing Functions 121

    Taming the Vagaries of groupby() 122

    Using itertools to Analyze LendyDB Data 124

    Managing Data Using SQL 125

    Relational Database Concepts 126

    Structured Query Language 127

    Creating Tables 128

    Inserting Data 129

    Reading Data 130

    Modifying Data 133

    Linking Data across Tables 134

    Digging Deeper into Data Constraints 134

    Revisiting SQLite Field Types 135

    Modeling Relationships with Constraints 136

    Many‐to‐Many Relationships 140

    Migrating LendyDB to an SQL Database 143

    Accessing SQL from Python 143

    Using SQL Connections 143

    Using a Cursor 143

    Creating the LendyDB SQL Database 145

    Inserting Test Data 146

    Creating a LendyDB API 148

    Exploring Other Data Management Options 154

    Client‐Server Databases 154

    NoSQL 155

    The Cloud 155

    Data Analysis with RPy 156

    Summary 157

    CHAPTER 4: BUILDING DESKTOP APPLICATIONS 161

    Structuring Applications 162

    Building Command-Line Interfaces 164

    Building the Data Layer 164

    Building the Core Logic Layer 165

    Building the User Interface 169

    Using the cmd Module to Build a Command-Line Interface 173

    Reading Command-Line Arguments 175

    Jazzing Up the Command-Line Interface with Some Dialogs 177

    Programming GUIs with Tkinter 181

    Introducing Key GUI Principles 181

    Event‐Based Programming 181

    GUI Terminology 182

    The Containment Tree 183

    Building a Simple GUI 184

    Building a Tic‐Tac‐Toe GUI 186

    Sketching a UI Design 186

    Building Menus 187

    Building a Tic‐Tac‐Toe Board 188

    Connecting the GUI to the Game 190

    Extending Tkinter 194

    Using Tix 194

    Using ttk 198

    Revisiting the Lending Library 199

    Exploring Other GUI Toolkits for Python 206

    wxPython 207

    PyQt 207

    PyGTK 208

    Native GUIs: Cocoa and PyWin32 209

    Dabo 209

    Storing Local Data 210

    Storing Application‐Specific Data 210

    Storing User‐Selected Preferences 211

    Storing Application State 212

    Logging Error information 212

    Understanding Localization 214

    Using Locales 214

    Using Unicode in Python 216

    Using gettext 218

    Summary 220

    CHAPTER 5: PYTHON ON THE WEB 223

    Python on the Web 224

    Parts of a Web Application 225

    The Client‐Server Relationship 226

    Middleware and MVC 226

    HTTP Methods and Headers 227

    What Is an API? 230

    Web Programming with Python 235

    Using the Python HTTP Modules 235

    Creating an HTTP Server 235

    Exploring the Flask Framework 237

    Creating Data Models in Flask 238

    Creating Core Flask Files 239

    More on Python and the Web 247

    Static Site Generators 248

    Web Frameworks 248

    Using Python across the Wire 248

    XML‐RPC 249

    Socket Servers 250

    More Networking Fun in Python 253

    Summary 254

    CHAPTER 6: PYTHON IN BIGGER PROJECTS 257

    Testing with the Doctest Module 258

    Testing with the Unittest Module 262

    Test‐Driven Development in Python 267

    Debugging Your Python Code 267

    Handling Exceptions in Python 272

    Working on Larger Python Projects 276

    Releasing Python Packages 280

    Summary 282

    CHAPTER 7: EXPLORING PYTHON’S FRONTIERS 285

    Drawing Pictures with Python 286

    Using Turtle Graphics 286

    Using GUI Canvas Objects 286

    Plotting Data 287

    Using imghdr 287

    Introducing Pillow 287

    Trying Out ImageMagick 287

    Doing Science with Python 288

    Introducing SciPy 288

    Doing Bioscience with Python 290

    Using GIS 290

    Watching Your Language 290

    Getting It All 290

    Playing Games with Python 291

    Enriching the Experience with PyGame 291

    Exploring Other Options 291

    Going to the Movies 292

    The Computer Graphics Kit 292

    Modeling and Animation 292

    Photo Processing 292

    Working with Audio 293

    Integrating with Other Languages 293

    Jython 293

    IronPython 294

    Cython 294

    Tcl/Tk 295

    Getting Physical 296

    Introducing Serial Options 296

    Programming the RaspberryPi 296

    Talking to the Arduino 297

    Exploring Other Options 297

    Building Python 298

    Fixing Bugs 298

    Documenting 298

    Testing 299

    Adding Features 299

    Attending Conferences 299

    Summary 299

    APPENDIX A: ANSWERS TO EXERCISES 303

    Chapter 1 Solutions 303

    Chapter 2 Solutions 305

    Chapter 3 Solutions 306

    Chapter 4 Solutions 311

    Chapter 5 Solutions 315

    Chapter 6 Solutions 316

    Chapter 7 Solutions 317

    APPENDIX B: PYTHON STANDARD MODULES 319

    APPENDIX C: USEFUL PYTHON RESOURCES 327

    Asking Questions: Mailing Lists and More 327

    Reading Blogs 328

    Studying Tutorials and References 328

    Watching Videos 329

    And Now for Something Completely Different… 329

    REFERENCES 331

    INDEX 333

    Recently viewed products

    © 2026 Book Curl

      • American Express
      • Apple Pay
      • Diners Club
      • Discover
      • Google Pay
      • Maestro
      • Mastercard
      • PayPal
      • Shop Pay
      • Union Pay
      • Visa

      Login

      Forgot your password?

      Don't have an account yet?
      Create account