{"product_id":"python-projects-paperback-softback-9781118908662","title":"Python Projects (Paperback \/ softback) 9781118908662","description":"\u003cfont face=\"Georgia\"\u003e\r\n\u003cp\u003e\u003cfont size=\"6\"\u003ePython Projects\u003c\/font\u003e\u003cbr\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003c\/p\u003e\n\u003cp\u003e\u003cfont size=\"4\"\u003eLaura Cassell (Author), Alan Gauld (Author)\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e9781118908662, Wiley\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003ePaperback \/ softback, published 20 January 2015\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e384 pages\u003cbr\u003e23.1 x 18.5 x 2 cm, 0.499 kg\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003cp align=\"justify\"\u003e\u003cstrong\u003e\u003cfont size=\"3\"\u003e\u003cb\u003eA guide to completing Python projects for those ready to take their skills to the next level\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e\u003ci\u003ePython Projects\u003c\/i\u003e is the ultimate resource for the Python programmer with basic skills who is ready to move beyond tutorials and start building projects.\u003cbr\u003e\u003cbr\u003eThe preeminent guide to bridge the gap between learning and doing, this book walks readers through the \"where\" and \"how\" of real-world Python programming with practical, actionable instruction. With a focus on real-world functionality, \u003ci\u003ePython Projects\u003c\/i\u003e details the ways that Python can be used to complete daily tasks and bring efficiency to businesses and individuals alike.\u003cbr\u003e\u003cbr\u003e\u003ci\u003ePython Projects\u003c\/i\u003e is written specifically for those who know the Python syntax and lay of the land, but may still be intimidated by larger, more complex projects. The book provides a walk-through of the basic set-up for an application and the building and packaging for a library, and explains in detail the functionalities related to the projects. Topics include:\u003cbr\u003e\u003cbr\u003e*How to maximize the power of the standard library modules\u003cbr\u003e*Where to get third party libraries, and the best practices for utilization\u003cbr\u003e*Creating, packaging, and reusing libraries within and across projects\u003cbr\u003e*Building multi-layered functionality including networks, data, and user interfaces\u003cbr\u003e*Setting up development environments and using virtualenv, pip, and more\u003cbr\u003e\u003cbr\u003eWritten by veteran Python trainers, the book is structured for easy navigation and logical progression that makes it ideal for individual, classroom, or corporate training.\u003cbr\u003e\u003cbr\u003eFor Python developers looking to apply their skills to real-world challenges, \u003ci\u003ePython Projects\u003c\/i\u003e is a goldmine of information and expert insight.\u003cbr\u003e\u003c\/font\u003e\u003c\/strong\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e\u003cp\u003eINTRODUCTION xxv\u003c\/p\u003e \u003cp\u003e\u003cb\u003eCHAPTER 1: REVIEWING CORE PYTHON 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eExploring the Python Language and the Interpreter 2\u003c\/p\u003e \u003cp\u003eReviewing the Python Data Types 3\u003c\/p\u003e \u003cp\u003eNumeric Types: Integer and Float 4\u003c\/p\u003e \u003cp\u003eThe Boolean Type 5\u003c\/p\u003e \u003cp\u003eThe None Type 6\u003c\/p\u003e \u003cp\u003eCollection Types 6\u003c\/p\u003e \u003cp\u003eStrings 7\u003c\/p\u003e \u003cp\u003eBytes and ByteArrays 8\u003c\/p\u003e \u003cp\u003eTuples 10\u003c\/p\u003e \u003cp\u003eLists 10\u003c\/p\u003e \u003cp\u003eDictionaries 12\u003c\/p\u003e \u003cp\u003eSets 13\u003c\/p\u003e \u003cp\u003eUsing Python Control Structures 15\u003c\/p\u003e \u003cp\u003eStructuring Your Program 15\u003c\/p\u003e \u003cp\u003eUsing Sequences, Blocks and Comments 16\u003c\/p\u003e \u003cp\u003eSelecting an Execution Path 17\u003c\/p\u003e \u003cp\u003eIteration 18\u003c\/p\u003e \u003cp\u003eHandling Exceptions 20\u003c\/p\u003e \u003cp\u003eManaging Context 21\u003c\/p\u003e \u003cp\u003eGetting Data In and Out of Python 21\u003c\/p\u003e \u003cp\u003eInteracting with Users 21\u003c\/p\u003e \u003cp\u003eUsing Text Files 23\u003c\/p\u003e \u003cp\u003eExtending Python 24\u003c\/p\u003e \u003cp\u003eDefining and Using Functions 24\u003c\/p\u003e \u003cp\u003eGenerator Functions 26\u003c\/p\u003e \u003cp\u003eLambda Functions 27\u003c\/p\u003e \u003cp\u003eDefining and Using Classes and Objects 28\u003c\/p\u003e \u003cp\u003eCreating and Using Modules and Packages 33\u003c\/p\u003e \u003cp\u003eUsing and Creating Modules 33\u003c\/p\u003e \u003cp\u003eUsing and Creating Packages 34\u003c\/p\u003e \u003cp\u003eCreating an Example Package 36\u003c\/p\u003e \u003cp\u003eUsing Third‐Party Packages 42\u003c\/p\u003e \u003cp\u003eSummary 43\u003c\/p\u003e \u003cp\u003e\u003cb\u003eCHAPTER 2: SCRIPTING WITH PYTHON 47\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAccessing the Operating System 48\u003c\/p\u003e \u003cp\u003eObtaining Information about Users and Their Computer 49\u003c\/p\u003e \u003cp\u003eObtaining Information about the Current Process 53\u003c\/p\u003e \u003cp\u003eManaging Other Programs 55\u003c\/p\u003e \u003cp\u003eManaging Subprocesses More Effectively 58\u003c\/p\u003e \u003cp\u003eObtaining Information about Files (and Devices) 60\u003c\/p\u003e \u003cp\u003eNavigating and Manipulating the File system 62\u003c\/p\u003e \u003cp\u003ePlumbing the Directory Tree Depths 69\u003c\/p\u003e \u003cp\u003eWorking with Dates and Times 72\u003c\/p\u003e \u003cp\u003eUsing the time Module 72\u003c\/p\u003e \u003cp\u003eIntroducing the datetime Module 75\u003c\/p\u003e \u003cp\u003eIntroducing the calendar Module 76\u003c\/p\u003e \u003cp\u003eHandling Common File Formats 76\u003c\/p\u003e \u003cp\u003eUsing Comma‐Separated Values 76\u003c\/p\u003e \u003cp\u003eWorking with Confi g Files 83\u003c\/p\u003e \u003cp\u003eWorking with XML and HTML Files 86\u003c\/p\u003e \u003cp\u003eParsing XML Files 86\u003c\/p\u003e \u003cp\u003eParsing HTML Files 89\u003c\/p\u003e \u003cp\u003eAccessing Native APIs with ctypes and pywin32 93\u003c\/p\u003e \u003cp\u003eAccessing the Operating System Libraries 94\u003c\/p\u003e \u003cp\u003eUsing ctypes with Windows 95\u003c\/p\u003e \u003cp\u003eUsing ctypes on Linux 96\u003c\/p\u003e \u003cp\u003eAccessing a Windows Application Using COM 96\u003c\/p\u003e \u003cp\u003eAutomating Tasks Involving Multiple Applications 98\u003c\/p\u003e \u003cp\u003eUsing Python First 98\u003c\/p\u003e \u003cp\u003eUsing Operating System Utilities 98\u003c\/p\u003e \u003cp\u003eUsing Data Files 98\u003c\/p\u003e \u003cp\u003eUsing a Third‐Party Module 99\u003c\/p\u003e \u003cp\u003eInteracting with Subprocesses via a CLI 99\u003c\/p\u003e \u003cp\u003eUsing Web Services for Server‐Based Applications 99\u003c\/p\u003e \u003cp\u003eUsing a Native Code API 100\u003c\/p\u003e \u003cp\u003eUsing GUI Robotics 100\u003c\/p\u003e \u003cp\u003eSummary 100\u003c\/p\u003e \u003cp\u003e\u003cb\u003eCHAPTER 3: MANAGING DATA 103\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eStoring Data Using Python 104\u003c\/p\u003e \u003cp\u003eUsing DBM as a Persistent Dictionary 104\u003c\/p\u003e \u003cp\u003eUsing Pickle to Store and Retrieve Objects 109\u003c\/p\u003e \u003cp\u003eAccessing Objects with shelve 111\u003c\/p\u003e \u003cp\u003eAnalyzing Data with Python 116\u003c\/p\u003e \u003cp\u003eAnalyzing Data Using Built‐In Features of Python 116\u003c\/p\u003e \u003cp\u003eAnalyzing Data with ittertools 119\u003c\/p\u003e \u003cp\u003eUtility Functions 119\u003c\/p\u003e \u003cp\u003eData Processing Functions 121\u003c\/p\u003e \u003cp\u003eTaming the Vagaries of groupby() 122\u003c\/p\u003e \u003cp\u003eUsing itertools to Analyze LendyDB Data 124\u003c\/p\u003e \u003cp\u003eManaging Data Using SQL 125\u003c\/p\u003e \u003cp\u003eRelational Database Concepts 126\u003c\/p\u003e \u003cp\u003eStructured Query Language 127\u003c\/p\u003e \u003cp\u003eCreating Tables 128\u003c\/p\u003e \u003cp\u003eInserting Data 129\u003c\/p\u003e \u003cp\u003eReading Data 130\u003c\/p\u003e \u003cp\u003eModifying Data 133\u003c\/p\u003e \u003cp\u003eLinking Data across Tables 134\u003c\/p\u003e \u003cp\u003eDigging Deeper into Data Constraints 134\u003c\/p\u003e \u003cp\u003eRevisiting SQLite Field Types 135\u003c\/p\u003e \u003cp\u003eModeling Relationships with Constraints 136\u003c\/p\u003e \u003cp\u003eMany‐to‐Many Relationships 140\u003c\/p\u003e \u003cp\u003eMigrating LendyDB to an SQL Database 143\u003c\/p\u003e \u003cp\u003eAccessing SQL from Python 143\u003c\/p\u003e \u003cp\u003eUsing SQL Connections 143\u003c\/p\u003e \u003cp\u003eUsing a Cursor 143\u003c\/p\u003e \u003cp\u003eCreating the LendyDB SQL Database 145\u003c\/p\u003e \u003cp\u003eInserting Test Data 146\u003c\/p\u003e \u003cp\u003eCreating a LendyDB API 148\u003c\/p\u003e \u003cp\u003eExploring Other Data Management Options 154\u003c\/p\u003e \u003cp\u003eClient‐Server Databases 154\u003c\/p\u003e \u003cp\u003eNoSQL 155\u003c\/p\u003e \u003cp\u003eThe Cloud 155\u003c\/p\u003e \u003cp\u003eData Analysis with RPy 156\u003c\/p\u003e \u003cp\u003eSummary 157\u003c\/p\u003e \u003cp\u003e\u003cb\u003eCHAPTER 4: BUILDING DESKTOP APPLICATIONS 161\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eStructuring Applications 162\u003c\/p\u003e \u003cp\u003eBuilding Command-Line Interfaces 164\u003c\/p\u003e \u003cp\u003eBuilding the Data Layer 164\u003c\/p\u003e \u003cp\u003eBuilding the Core Logic Layer 165\u003c\/p\u003e \u003cp\u003eBuilding the User Interface 169\u003c\/p\u003e \u003cp\u003eUsing the cmd Module to Build a Command-Line Interface 173\u003c\/p\u003e \u003cp\u003eReading Command-Line Arguments 175\u003c\/p\u003e \u003cp\u003eJazzing Up the Command-Line Interface with Some Dialogs 177\u003c\/p\u003e \u003cp\u003eProgramming GUIs with Tkinter 181\u003c\/p\u003e \u003cp\u003eIntroducing Key GUI Principles 181\u003c\/p\u003e \u003cp\u003eEvent‐Based Programming 181\u003c\/p\u003e \u003cp\u003eGUI Terminology 182\u003c\/p\u003e \u003cp\u003eThe Containment Tree 183\u003c\/p\u003e \u003cp\u003eBuilding a Simple GUI 184\u003c\/p\u003e \u003cp\u003eBuilding a Tic‐Tac‐Toe GUI 186\u003c\/p\u003e \u003cp\u003eSketching a UI Design 186\u003c\/p\u003e \u003cp\u003eBuilding Menus 187\u003c\/p\u003e \u003cp\u003eBuilding a Tic‐Tac‐Toe Board 188\u003c\/p\u003e \u003cp\u003eConnecting the GUI to the Game 190\u003c\/p\u003e \u003cp\u003eExtending Tkinter 194\u003c\/p\u003e \u003cp\u003eUsing Tix 194\u003c\/p\u003e \u003cp\u003eUsing ttk 198\u003c\/p\u003e \u003cp\u003eRevisiting the Lending Library 199\u003c\/p\u003e \u003cp\u003eExploring Other GUI Toolkits for Python 206\u003c\/p\u003e \u003cp\u003ewxPython 207\u003c\/p\u003e \u003cp\u003ePyQt 207\u003c\/p\u003e \u003cp\u003ePyGTK 208\u003c\/p\u003e \u003cp\u003eNative GUIs: Cocoa and PyWin32 209\u003c\/p\u003e \u003cp\u003eDabo 209\u003c\/p\u003e \u003cp\u003eStoring Local Data 210\u003c\/p\u003e \u003cp\u003eStoring Application‐Specific Data 210\u003c\/p\u003e \u003cp\u003eStoring User‐Selected Preferences 211\u003c\/p\u003e \u003cp\u003eStoring Application State 212\u003c\/p\u003e \u003cp\u003eLogging Error information 212\u003c\/p\u003e \u003cp\u003eUnderstanding Localization 214\u003c\/p\u003e \u003cp\u003eUsing Locales 214\u003c\/p\u003e \u003cp\u003eUsing Unicode in Python 216\u003c\/p\u003e \u003cp\u003eUsing gettext 218\u003c\/p\u003e \u003cp\u003eSummary 220\u003c\/p\u003e \u003cp\u003e\u003cb\u003eCHAPTER 5: PYTHON ON THE WEB 223\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003ePython on the Web 224\u003c\/p\u003e \u003cp\u003eParts of a Web Application 225\u003c\/p\u003e \u003cp\u003eThe Client‐Server Relationship 226\u003c\/p\u003e \u003cp\u003eMiddleware and MVC 226\u003c\/p\u003e \u003cp\u003eHTTP Methods and Headers 227\u003c\/p\u003e \u003cp\u003eWhat Is an API? 230\u003c\/p\u003e \u003cp\u003eWeb Programming with Python 235\u003c\/p\u003e \u003cp\u003eUsing the Python HTTP Modules 235\u003c\/p\u003e \u003cp\u003eCreating an HTTP Server 235\u003c\/p\u003e \u003cp\u003eExploring the Flask Framework 237\u003c\/p\u003e \u003cp\u003eCreating Data Models in Flask 238\u003c\/p\u003e \u003cp\u003eCreating Core Flask Files 239\u003c\/p\u003e \u003cp\u003eMore on Python and the Web 247\u003c\/p\u003e \u003cp\u003eStatic Site Generators 248\u003c\/p\u003e \u003cp\u003eWeb Frameworks 248\u003c\/p\u003e \u003cp\u003eUsing Python across the Wire 248\u003c\/p\u003e \u003cp\u003eXML‐RPC 249\u003c\/p\u003e \u003cp\u003eSocket Servers 250\u003c\/p\u003e \u003cp\u003eMore Networking Fun in Python 253\u003c\/p\u003e \u003cp\u003eSummary 254\u003c\/p\u003e \u003cp\u003e\u003cb\u003eCHAPTER 6: PYTHON IN BIGGER PROJECTS 257\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eTesting with the Doctest Module 258\u003c\/p\u003e \u003cp\u003eTesting with the Unittest Module 262\u003c\/p\u003e \u003cp\u003eTest‐Driven Development in Python 267\u003c\/p\u003e \u003cp\u003eDebugging Your Python Code 267\u003c\/p\u003e \u003cp\u003eHandling Exceptions in Python 272\u003c\/p\u003e \u003cp\u003eWorking on Larger Python Projects 276\u003c\/p\u003e \u003cp\u003eReleasing Python Packages 280\u003c\/p\u003e \u003cp\u003eSummary 282\u003c\/p\u003e \u003cp\u003e\u003cb\u003eCHAPTER 7: EXPLORING PYTHON’S FRONTIERS 285\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eDrawing Pictures with Python 286\u003c\/p\u003e \u003cp\u003eUsing Turtle Graphics 286\u003c\/p\u003e \u003cp\u003eUsing GUI Canvas Objects 286\u003c\/p\u003e \u003cp\u003ePlotting Data 287\u003c\/p\u003e \u003cp\u003eUsing imghdr 287\u003c\/p\u003e \u003cp\u003eIntroducing Pillow 287\u003c\/p\u003e \u003cp\u003eTrying Out ImageMagick 287\u003c\/p\u003e \u003cp\u003eDoing Science with Python 288\u003c\/p\u003e \u003cp\u003eIntroducing SciPy 288\u003c\/p\u003e \u003cp\u003eDoing Bioscience with Python 290\u003c\/p\u003e \u003cp\u003eUsing GIS 290\u003c\/p\u003e \u003cp\u003eWatching Your Language 290\u003c\/p\u003e \u003cp\u003eGetting It All 290\u003c\/p\u003e \u003cp\u003ePlaying Games with Python 291\u003c\/p\u003e \u003cp\u003eEnriching the Experience with PyGame 291\u003c\/p\u003e \u003cp\u003eExploring Other Options 291\u003c\/p\u003e \u003cp\u003eGoing to the Movies 292\u003c\/p\u003e \u003cp\u003eThe Computer Graphics Kit 292\u003c\/p\u003e \u003cp\u003eModeling and Animation 292\u003c\/p\u003e \u003cp\u003ePhoto Processing 292\u003c\/p\u003e \u003cp\u003eWorking with Audio 293\u003c\/p\u003e \u003cp\u003eIntegrating with Other Languages 293\u003c\/p\u003e \u003cp\u003eJython 293\u003c\/p\u003e \u003cp\u003eIronPython 294\u003c\/p\u003e \u003cp\u003eCython 294\u003c\/p\u003e \u003cp\u003eTcl\/Tk 295\u003c\/p\u003e \u003cp\u003eGetting Physical 296\u003c\/p\u003e \u003cp\u003eIntroducing Serial Options 296\u003c\/p\u003e \u003cp\u003eProgramming the RaspberryPi 296\u003c\/p\u003e \u003cp\u003eTalking to the Arduino 297\u003c\/p\u003e \u003cp\u003eExploring Other Options 297\u003c\/p\u003e \u003cp\u003eBuilding Python 298\u003c\/p\u003e \u003cp\u003eFixing Bugs 298\u003c\/p\u003e \u003cp\u003eDocumenting 298\u003c\/p\u003e \u003cp\u003eTesting 299\u003c\/p\u003e \u003cp\u003eAdding Features 299\u003c\/p\u003e \u003cp\u003eAttending Conferences 299\u003c\/p\u003e \u003cp\u003eSummary 299\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAPPENDIX A: ANSWERS TO EXERCISES 303\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eChapter 1 Solutions 303\u003c\/p\u003e \u003cp\u003eChapter 2 Solutions 305\u003c\/p\u003e \u003cp\u003eChapter 3 Solutions 306\u003c\/p\u003e \u003cp\u003eChapter 4 Solutions 311\u003c\/p\u003e \u003cp\u003eChapter 5 Solutions 315\u003c\/p\u003e \u003cp\u003eChapter 6 Solutions 316\u003c\/p\u003e \u003cp\u003eChapter 7 Solutions 317\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAPPENDIX B: PYTHON STANDARD MODULES 319\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAPPENDIX C: USEFUL PYTHON RESOURCES 327\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAsking Questions: Mailing Lists and More 327\u003c\/p\u003e \u003cp\u003eReading Blogs 328\u003c\/p\u003e \u003cp\u003eStudying Tutorials and References 328\u003c\/p\u003e \u003cp\u003eWatching Videos 329\u003c\/p\u003e \u003cp\u003eAnd Now for Something Completely Different… 329\u003c\/p\u003e \u003cp\u003eREFERENCES 331\u003c\/p\u003e \u003cp\u003eINDEX 333\u003c\/p\u003e\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003eSubject Areas: Computer programming \/ software development [\u003ca title=\"See our other books on Computer programming \/ software development\" href=\"https:\/\/freshlyprintedbooks.co.uk\/search?q=%22Computer%20programming%20\/%20software%20development%20%5BUM%5D%22\"\u003eUM\u003c\/a\u003e]\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\u003c\/font\u003e","brand":"Wrox","offers":[{"title":"Brand New","offer_id":52511288557848,"sku":"9781118908662","price":27.35,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0730\/2037\/5320\/files\/9781118908662.jpg?v=1786594703","url":"https:\/\/freshlyprintedbooks.co.uk\/products\/python-projects-paperback-softback-9781118908662","provider":"Freshly Printed Books","version":"1.0","type":"link"}