ebook img

Making Use of Python PDF

404 Pages·2002·3.122 MB·English
by  GuptaRashi
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Making Use of Python

Making Use of Python Rashi Gupta Wiley Publishing, Inc. Publisher: Robert Ipsen Editor: Ben Ryan Managing Editor: Angela Smith New Media Editor: Brian Snapp Text Design & Composition: John Wiley Composition Services Designations used by companies to distinguish their products are often claimed as trade- marks. In all instances where John Wiley & Sons, Inc., is aware of a claim, the product names appear in initial capital or ALLCAPITALLETTERS. Readers, however, should contact the appro- priate companies for more complete information regarding trademarks and registration. This book is printed on acid-free paper. ∞ Copyright © 2002 by Rashi Gupta. All rights reserved. Published by Wiley Publishing, Inc., New York. Published simultaneously in Canada. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copy- right Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA01923, (978) 750-8400, fax (978) 750-4744. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 605 Third Avenue, New York, NY 10158-0012, (212) 850-6011, fax (212) 850-6008, E-Mail: PERMREQ @ WILEY.COM. This publication is designed to provide accurate and authoritative information in regard to the subject matter covered. It is sold with the understanding that the publisher is not engaged in professional services. If professional advice or other expert assistance is required, the services of a competent professional person should be sought. Library of Congress Cataloging-in-Publication Data: ISBN: 0471-21975-4 Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic books. Printed in the United States of America. 10 9 8 7 6 5 4 3 2 1 Contents Introduction xi Scenario xxiii Chapter 1 An Introduction to Python 1 Getting Started 1 Understanding Requirements 2 Determine Requirements of the University 2 Obtain Python and Its Documentation 3 Determine the System Requirements 4 Install Python 5 Start Python in Different Execution Modes 7 Summary 12 Chapter 2 Getting Started with Python 13 Getting Started 14 Writing Your First Python Program 14 Comments 15 Python as a Calculator 16 Using Variables in Python 16 Variables 17 Assigning Values to Variables 18 Standard Types 19 Identifiers and Keywords 39 Memory Management 40 Create a Sequence to Store All the Names of the Students 42 Write the Code to Display the Names of the Students 42 v vi Contents Declare a Dictionary of Student Purchases with the Names of the Students as the Key 43 Write the Code to Display the Student Purchases 43 Save and Execute the Code 43 Verify the Details 44 Summary 44 Chapter 3 Intrinsic Operations and Input/Output 47 Getting Started 48 Using Input/Output Features and Intrinsic Operations for Data Types in Python 48 Identify the Variables to Be Used 49 Accepting User Input 49 Formatting the Output 50 Introduction to Intrinsic Operations 55 Intrinsic Operations for Numeric Data Types 57 Intrinsic Operations for Strings 60 Intrinsic Operations for Lists and Tuples 66 Write the Code 71 Execute the Code 71 Summary 73 Chapter 4 Programming Basics 75 Getting Started 76 Conditional Operators 76 Order of Precedence of Operators 82 Using Programming Constructs 83 Identify the Control and Loop Statements to Be Used 84 Write the Code 94 Execute the Code 95 Summary 97 Chapter 5 Functions 99 Getting Started 100 Using Functions 100 Functions 101 Scope of Variables 118 Identify the Functions to Be Used 119 Write the Code 119 Execute the Code 121 Summary 122 Chapter 6 Modules 123 Getting Started 124 Using Modules 124 Modules 124 Packages 135 Identify the Modules to Be Used 136 Contents vii Write the Code 137 Execute the Code 139 Summary 140 Chapter 7 Files 141 Getting Started 141 Using File Objects 142 Identify the Functions and Methods to Be Used 142 Write the Code to Store Course Details to the File 154 Execute the Code 155 Verify the Solution 155 Summary 156 Chapter 8 Object-Oriented Programming 157 Getting Started 158 Introducing OOP 158 Components of OOP 159 Benefits of OOP 160 Using Classes 161 Identify the Classes to Be Defined 162 Identifying the Class Objects 163 Identifying the Classes to Be Inherited and Their Objects 170 Identify the Methods to Be Overridden 173 Write the Code 182 Execute the Code 189 Summary 190 Chapter 9 Exception Handling 193 Getting Started 193 Handling Exceptions 194 Identify the Type of Error and Where the Error Occurs 196 Identify the Mechanism of Trapping the Exception 200 Identify the Location for the Code for Handling the Exception to Be Written 209 Write the Code for Handling the Exception 209 Save and Execute the Code 210 Summary 210 Chapter 10 CGI Programming 213 Getting Started 213 Internet Basics 214 World Wide Web 217 Web Browsers 217 Hypertext Transfer Protocol (HTTP) 220 Revising HTML 221 Client-Side versus Server-Side Scripting 227 An Introduction to CGI 229 viii Contents Writing CGI Applications 231 Write the Code for the HTMLForm to Accept Data from the User 231 Write the CGI Program in Python to Generate the Results Page 232 Write the CGI Program to Generate Both the Form and Results Pages 236 Execute the Code 237 Summary 239 Chapter 11 Database Programming 241 Getting Started 241 Database Management 242 Introduction to MySQL 243 Working with MySQL 246 Accessing a Database from a Python Script 254 Identify the Elements of the Table That Stores Registration Details 256 Identify the Steps for Connecting to the Database 256 Write the Code to Create a Table in the Database 259 Write the Code to Insert the Registration Details into the Table Created 260 Execute the Code to Create the Table in the Database 261 Execute the Code to Insert Data into the Table 261 Verify the Data in the Database 263 Summary 264 Chapter 12 Network Programming 267 Getting Started 267 Client/Server Architecture 268 Network Programming 269 Using Sockets 272 Identify the Sockets to Be Used 272 Write the Code to Run on the IT Department Computer 287 Write the Code to Run on the Admission Office Computer 288 Execute the Code Created for the IT Department Computer 289 Execute the Code Created for the Admission Office Computer 290 Verify that Data Has Been Saved to a File in the IT Department Computer 292 Summary 292 Chapter 13 Multithreaded Programming 297 Getting Started 297 Single-Threaded Applications 298 Threading in Python 299 Contents ix Creating Multithreaded Applications 300 Identify the Class and the Methods to Create a Multithreaded Application 300 Write Code for the Server 308 Write the Code for the Client 309 Execute the Code Created for the Server 310 Execute the Code Created for the Client 311 Summary 313 Chapter14 Advanced Web Programming 315 Getting Started 316 Creating Web Servers 316 Accessing URLs 323 Creating Advanced CGI Applications 328 Identify the Elements of the Web Page for Entering Assignment Details and Uploading the File 328 Identify the Methodology for Uploading the File 329 Identify the Methodology for Storing User Information 330 Write the Code for the CGI Script 335 Execute the CGI Script 339 Summary 340 Chapter 15 GUI Programming with Tkinter 343 Getting Started 343 Introduction to Tkinter 344 Creating a GUI Application 347 Identify the Components of the User Interface 348 Identify the Tkinter Widgets to Design the User Interface 348 Write the Code for the User Interface 360 Execute the Code 362 Summary 364 Appendix A Distributing COM Objects 365 Basics of COM 365 The Binary Standard 367 COM Interfaces 369 Binding 370 Python and COM 371 Creating COM Clients 371 Creating COM Servers 373 Index 377 Introduction In this competitive age, high productivity, tight deadlines, and short development cycles are the buzzwords in the application development world. These are the reasons why software developers prefer rapid application development (RAD) tools like Python. Python is a portable, interpreted, object-oriented programming language. It com- bines remarkable power with very clear syntax. Moreover, its high-level built-in data structures, combined with dynamic typing and dynamic binding, make it very attrac- tive for rapid application development. Python is being used successfully to glue together large software components. It spans multiple platforms, middleware products, and application domains. Python has been around since 1991, and it has a very active user community. Python can fulfill an important integration role in the design of large applications with a long life expectancy. It allows a fast response to changes in user requirements that require adapting the higher-level application logic without changing the fundamental underlying components. It also allows quick adaptation of the application to changes in the under- lying components. Guido van Rossum, CNRI Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python’s elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development in many areas on most platforms. www.python.org This book is an attempt to bridge the ever-increasing gap between the market demand and the availability of Python expertise. The first step to becoming an expert is acquiring an in-depth knowledge of Python, and that is exactly what this book has to offer. It begins with the basics of scripting and seamlessly moves to programming intricacies. xi xii Introduction Along with conceptual information this book will also provide extensive practical exercises for the reader to gain valuable, real-life exposure to creating different types of applications. Overview of Python Python is a free, open-source, general-purpose, interpreted, and powerful scripting language for Web applications. It is an easy yet powerful programming language that provides structure and support for large applications as well as the power and com- plexity of traditional high-level languages. Python is the ideal choice if you require a single language with the features of both an interpreted and a scripting language. History of Python Python is directly derived from the scripting language ABC, which was mainly used for teaching purposes in the 1980s by a small number of people. Python’s development was triggered by the need to develop tools to automate monotonous and time- consuming tasks. Guido van Rossum is the creator of Python. He started work on Python in late 1989 at CWI in Amsterdam. When Guido started work on Python, he was a researcher at CWI. Initially, Python was designed to perform general administration tasks. Later, it became a part of the Amoeba project at CWI and was first released for public use in February 1991. Alarge part of Python development occurred at CNRI in Reston, Vir- ginia, in the United States. In June 2000, the Python development team moved to Pythonlabs, a member organization of the BeOpen network. The lead developers of Python, including Guido van Rossum, maintained Pythonlabs. In October 2000, the lead developers left BeOpen.com and joined Digital Creations. Since then the team has been involved in Python development. Any intellectual property that is added to Python is taken care by a nonprofit organization called Python Software Foundation. Features of Python Python can act as a connecting language that links many separate software compo- nents in a simple and flexible manner. It can also act as a guiding language in which high-level Python modules control low-level operations implemented by libraries in other languages. Due to its ease of learning and strength to develop large applications, it can serve both as a learner’s first programming language and as an interface for users who want to become experts in advanced application development. Let’s discuss some of the salient features of Python. Easy Python has an easy syntax, clean and simple semantics, and relatively few keywords, which allow a new developer to learn Python very quickly and easily. It will require a lesser effort for people who have some programming knowledge. Python has a syntax Introduction xiii that is similar to that of Algol, C, and Pascal. In fact, it is a simplification of these lan- guages and does not require any extra effort to learn an unfamiliar concept, syntax, or keywords. Python is an object-oriented programming (OOP) language, but unlike C++, OOPis not a mandatory concept for Python. You can start learning Python and learn about OOPat a convenient point. Moreover, Python does not have extra symbols for starting and ending code blocks, defining an end to a statement, and pattern matching. Symbols such as curly braces ({}), dollar signs ($), semicolons (;), tildes (~), and at symbols (@), which are part and parcel of many programming languages, do not constrain code written in Python. Indentation is used to group statements to form code blocks. Therefore, you are less likely to have bugs in your code due to incorrect indentations. Python is so simple to understand that a reader who has never seen a single line of code can understand a basic code written in Python. Scalable Unix shell scripting languages are fairly easy and can handle simple tasks very easily and efficiently. When you add more features to a script, however, the script becomes very large, complicated, and slow. You are unable to reuse your code, and even small projects require huge scripts. Python provides a better structure and support for large programs than shell scripting. You can build on your code from one project to another or plug or create new components by reusing the existing code. The term “scalability” in relation to Python refers to Python’s capability to provide ingredients to build an application and to provide pluggable and modular architecture for the applications that need to incorporate more functionality. Python allows you to split your script into modules and reuse these modules in other Python programs. Many standard modules, which can be used based on the requirements of the program, are also built into Python. Many built-in modules aid you in input/output, system calls, socket programming, and GUI programming, such as Tkinter. High Level Consider that you have a shell script and you want to add a feature to it. It is possible that the feature involves a system call, variable-length strings, or other data types that are easy to implement in shell but will involve long code passages in C. Perhaps you are not adequately familiar with C to write complex code. Python takes care of all these issues. Python has built-in modules that help you make system calls. Useful, high-level data types, such as lists (resizable arrays) and dictionaries (hash tables) are built into Python, allowing you to express complicated expressions in a single statement. No variable or argument declaration is necessary. After a value is assigned to a name, Python instantly assumes the required type. All this minimizes the time and effort required to implement a particular functionality in a program. The data types also reduce the code size, resulting in a more comprehensible code. On the other hand, these data types would be difficult to implement in C due to the required use of data structures and pointers and the repetitive code needed to implement every large application.

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.