收藏 分享(赏)

Python基础教程(英文第2版).pdf

上传人:李静文 文档编号:10539 上传时间:2018-06-03 格式:PDF 页数:667 大小:4.28MB
下载 相关 举报
Python基础教程(英文第2版).pdf_第1页
第1页 / 共667页
Python基础教程(英文第2版).pdf_第2页
第2页 / 共667页
Python基础教程(英文第2版).pdf_第3页
第3页 / 共667页
Python基础教程(英文第2版).pdf_第4页
第4页 / 共667页
Python基础教程(英文第2版).pdf_第5页
第5页 / 共667页
点击查看更多>>
资源描述

1、Beginning PythonFrom Novice to Professional, Second EditionMagnus Lie HetlandBeginning Python: From Novice to Professional, Second EditionCopyright 2008 by Magnus Lie HetlandAll rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanic

2、al, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher.ISBN-13 (pbk): 978-1-59059-982-2ISBN-10 (pbk): 1-59059-982-9ISBN-13 (electronic): 978-1-4302-0634-7Printed and bound in the United S

3、tates of America 9 8 7 6 5 4 3 2 1Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark.Lea

4、d Editor: Frank PohlmannTechnical Reviewers: Gregg Bolinger, Richard TaylorEditorial Board: Clay Andres, Steve Anglin, Ewan Buckingham, Tony Campbell, Gary Cornell, Jonathan Gennick, Matthew Moodie, Joseph Ottinger, Jeffrey Pepper, Frank Pohlmann, Ben Renow-Clarke, Dominic Shakeshaft, Matt Wade, Tom

5、 WelshProject Manager: Richard Dal PortoCopy Editor: Marilyn SmithAssociate Production Director: Kari Brooks-CoponyProduction Editor: Liz BerryCompositor: Pat ChristensonProofreader: April EddyIndexer: John CollinCover Designer: Kurt KramesManufacturing Director: Tom DebolskiDistributed to the book

6、trade worldwide by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax 201-348-4505, e-mail orders-nyspringer-, or visit http:/. For information on translations, please contact Apress directly at 2855 Telegraph Avenue, Suite 600, Berkeley, CA 9

7、4705. Phone 510-549-5930, fax 510-549-5939, e-mail , or visit http:/. Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Special Bulk SaleseBook Licen

8、sing web page at http:/ information in this book is distributed on an “as is” basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused

9、 or alleged to be caused directly or indirectly by the information contained in this work. The source code for this book is available to readers at http:/. ivContents at a GlanceAbout the Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10、 . . . . . . . . . xxiiiAbout the Technical Reviewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxvPreface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11、 . . .xxviiIntroduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxixCHAPTER 1 Instant Hacking: The Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1CHAPTER 2 Lists and Tuples . .

12、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31CHAPTER 3 Working with Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53CHAPTER 4 Dictionaries: When Indices Wont Do . . . . . . . . . . . . . . . . . . . . . . . . . .

13、69CHAPTER 5 Conditionals, Loops, and Some Other Statements . . . . . . . . . . . . . . 83CHAPTER 6 Abstraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113CHAPTER 7 More Abstraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14、 . . . . . . . . . . . . 141CHAPTER 8 Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161CHAPTER 9 Magic Methods, Properties, and Iterators . . . . . . . . . . . . . . . . . . . . . 175CHAPTER 10 Batteries Included . . . . . . . . . . . .

15、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209CHAPTER 11 Files and Stuff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261CHAPTER 12 Graphical User Interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277CHAP

16、TER 13 Database Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293CHAPTER 14 Network Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305CHAPTER 15 Python and the Web. . . . . . . . . . . . . . . . . . . . . . . . .

17、 . . . . . . . . . . . . . . . . 321CHAPTER 16 Testing, 1-2-3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349CHAPTER 17 Extending Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365CHAPTER 18 Packaging Your

18、Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383CHAPTER 19 Playful Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393CHAPTER 20 Project 1: Instant Markup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19、. . 403CHAPTER 21 Project 2: Painting a Pretty Picture . . . . . . . . . . . . . . . . . . . . . . . . . . . 425CHAPTER 22 Project 3: XML for All Occasions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435CHAPTER 23 Project 4: In the News. . . . . . . . . . . . . . . . . . . . . . . . .

20、. . . . . . . . . . . . . . 453vCHAPTER 24 Project 5: A Virtual Tea Party . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469CHAPTER 25 Project 6: Remote Editing with CGI . . . . . . . . . . . . . . . . . . . . . . . . . . . 489CHAPTER 26 Project 7: Your Own Bulletin Board . . . . .

21、. . . . . . . . . . . . . . . . . . . . . . 499CHAPTER 27 Project 8: File Sharing with XML-RPC . . . . . . . . . . . . . . . . . . . . . . . . 517CHAPTER 28 Project 9: File Sharing IINow with GUI! . . . . . . . . . . . . . . . . . . . . . 537CHAPTER 29 Project 10: Do-It-Yourself Arcade Game . . . .

22、. . . . . . . . . . . . . . . . . . 547APPENDIX A The Short Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569APPENDIX B Python Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579APPENDIX C Online Resource

23、s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595APPENDIX D Python 3.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607viiContentsAbout the Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiiiAbout the Technical Reviewer. . . . . . . . . . . . . . . . . . . . . . .

25、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvPreface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxviiIntroduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxixCHAPTER 1 Instant Hacking: The Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Installing Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Wind

27、ows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Linux and UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Macintosh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28、. . . . . . . . . . . 5Other Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Keeping in Touch and Up-to-Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7The Interactive Interpreter. . . . . . . . . . . . . . . . . . . . . . . . . . .

29、. . . . . . . . . . . . . . 7Algo . . . What? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Numbers and Expressions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Large Integers . . . . . . . . . . . . . . . .

30、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Hexadecimals and Octals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Statements. . . . . .

31、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Getting Input from the User. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32、 . . . . . . . . . . 16Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17cmath and Complex Numbers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Back to the _future_ . . . . . . . . . . . . . . . . . . . . . . .

33、 . . . . . . . . . . . . . . 19Saving and Executing Your Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Running Your Python Scripts from a Command Prompt. . . . . . . . . . 20Making Your Scripts Behave Like Normal Programs . . . . . . . . . . . . 20Comments . . . . . . . . .

34、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22viii CONTENTS Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Single-Quoted Strings and Escaping Quotes . . . . . . . . . . . . . . . . . . . 23Co

35、ncatenating Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24String Representations, str and repr . . . . . . . . . . . . . . . . . . . . . . . . . . 24input vs. raw_input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Long Str

36、ings, Raw Strings, and Unicode. . . . . . . . . . . . . . . . . . . . . . . 26A Quick Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29New Functions in This Chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30What Now? . . . .

37、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30CHAPTER 2 Lists and Tuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Sequence Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38、 . . . . . . . 31Common Sequence Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Slicing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39、 . . . . . . . . . . . . . . . . . . . 34Adding Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Membership . . . . . . . . . . . . . . . . . . .

40、. . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Length, Minimum, and Maximum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40Lists: Pythons Workhorse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40The list Function . . . . . . . . . . . . . . . .

41、 . . . . . . . . . . . . . . . . . . . . . . . . . . . 40Basic List Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41List Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Tuples: Immutable Sequences . . .

42、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49The tuple Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Basic Tuple Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50So Whats the Point? . . . . .

43、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51A Quick Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51New Functions in This Chapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52What Now? . . . . . . . .

44、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52CHAPTER 3 Working with Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Basic String Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45、. 53String Formatting: The Short Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53CONTENTS ixString Formatting: The Long Version. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Simple Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

46、 . . . . . . 57Width and Precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Signs, Alignment, and Zero-Padding . . . . . . . . . . . . . . . . . . . . . . . . . . 58String Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47、 . . . . . . . . . 60find. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61lower . . . . . . . . . . . . . . . . . . . .

48、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62replace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63split . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63stri

49、p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64translate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64A Quick Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66New Functions in This Chapter. . . . . . . . . . . . . . . . . . . . . . . . . .

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 网络技术 > 后端技术

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报