没有合适的资源?快使用搜索试试~ 我知道了~
首页Python编程专业指南
Python编程专业指南
需积分: 5 0 下载量 22 浏览量
更新于2024-06-21
收藏 6.07MB PDF 举报
"PythonNotesForProfessionals.pdf 是一本关于Python编程的非官方免费教育书籍,包含800多页的专业提示和技巧。本书旨在帮助读者深入理解和熟练掌握Python语言,适用于初学者和有一定经验的开发者。书中涵盖了一系列关键主题,如Python的基础知识、数据类型、模块管理等。"
在《Python Notes for Professionals》这本书中,首先介绍了Python语言的基本入门知识:
1. **Getting Started**: 这一部分旨在引导新用户了解Python环境的设置,包括如何下载和安装Python的不同版本(如2.7.x和3.x)以及Python集成开发环境(IDE),如IDLE。
2. **Creating Variables and Assigning Values**: 介绍变量的概念,如何在Python中创建并赋值,理解Python的动态类型特性。
3. **Block Indentation**: Python以其显著的缩进规则著称,这一部分会讲解为什么缩进是必要的,以及如何正确使用它来组织代码块。
4. **Data Types**: 详细讨论Python中的基本数据类型,如整型(int)、浮点型(float)、布尔型(bool)和字符串(str)。
5. **Collection Types**: 介绍Python中的集合类型,包括列表(list)、元组(tuple)、字典(dict)和集合(set),以及它们的特点和用法。
6. **IDLE - Python GUI**: IDLE是Python自带的一个简单开发环境,这部分将指导用户如何使用其进行代码编写和调试。
7. **User Input**: 讲解如何从用户那里获取输入,并展示在Python中处理用户输入的方法。
8. **Built-in Modules and Functions**: 介绍Python内置的模块和函数,这些是Python标准库的一部分,提供各种功能,如数学运算、文件操作等。
9. **Creating a Module**: 解释如何创建和使用Python模块,以实现代码的组织和重用。
10. **String Function - str() and repr()**: 介绍字符串转换函数str()和repr(),它们在处理字符串表示和打印时的作用。
11. **Installing External Modules using pip**: pip是Python的包管理器,这部分会教导用户如何使用pip安装和管理第三方库。
12. **Help Utility**: 提供了Python内置的帮助系统,帮助开发者查询函数、模块或类的信息。
接下来的章节则深入到Python的特定数据类型:
1. **String Data Type**: 详细讨论字符串的特性,包括字符串操作、格式化、正则表达式等。
2. **Set Data Types**: 介绍集合数据类型,如添加、删除元素,以及集合操作,如交集、并集、差集等。
3. **Numbers Data Type**: 讨论数字类型,包括算术运算、比较操作,以及复数(complex)的使用。
本书通过丰富的实例和实践建议,为专业人士提供了全面的Python学习资源,无论是对初学者还是有经验的开发者,都能从中受益。
methods 491 ........................................................................................................................................................................
Section 102.1: Motivation 491 ...........................................................................................................................................
Section 102.2: Both methods implemented, eval-round-trip style __repr__() 495 ..................................................
Chapter 103: Debugging 496 ........................................................................................................................................
Section 103.1: Via IPython and ipdb 496 .........................................................................................................................
Section 103.2: The Python Debugger: Step-through Debugging with _pdb_ 496 ....................................................
Section 103.3: Remote debugger 498 .............................................................................................................................
Chapter 104: Reading and Writing CSV 499 ........................................................................................................
Section 104.1: Using pandas 499 .....................................................................................................................................
Section 104.2: Writing a TSV file 499 ..............................................................................................................................
Chapter 105: Writing to CSV from String or List 501 ......................................................................................
Section 105.1: Basic Write Example 501 ..........................................................................................................................
Section 105.2: Appending a String as a newline in a CSV file 501 ...............................................................................
Chapter 106: Dynamic code execution with `exec` and `eval` 502 .............................................................
Section 106.1: Executing code provided by untrusted user using exec, eval, or ast.literal_eval 502 .......................
Section 106.2: Evaluating a string containing a Python literal with ast.literal_eval 502 ...........................................
Section 106.3: Evaluating statements with exec 502 .....................................................................................................
Section 106.4: Evaluating an expression with eval 503 .................................................................................................
Section 106.5: Precompiling an expression to evaluate it multiple times 503 ............................................................
Section 106.6: Evaluating an expression with eval using custom globals 503 ...........................................................
Chapter 107: PyInstaller - Distributing Python Code 504 ..............................................................................
Section 107.1: Installation and Setup 504 ........................................................................................................................
Section 107.2: Using Pyinstaller 504 ................................................................................................................................
Section 107.3: Bundling to One Folder 505 .....................................................................................................................
Section 107.4: Bundling to a Single File 505 ...................................................................................................................
Chapter 108: Data Visualization with Python 506 .............................................................................................
Section 108.1: Seaborn 506 ..............................................................................................................................................
Section 108.2: Matplotlib 508 ...........................................................................................................................................
Section 108.3: Plotly 509 ...................................................................................................................................................
Section 108.4: MayaVI 511 ...............................................................................................................................................
Chapter 109: The Interpreter (Command Line Console) 513 .......................................................................
Section 109.1: Getting general help 513 ..........................................................................................................................
Section 109.2: Referring to the last expression 513 ......................................................................................................
Section 109.3: Opening the Python console 514 ............................................................................................................
Section 109.4: The PYTHONSTARTUP variable 514 ......................................................................................................
Section 109.5: Command line arguments 514 ...............................................................................................................
Section 109.6: Getting help about an object 515 ...........................................................................................................
Chapter 110: *args and **kwargs 518 .......................................................................................................................
Section 110.1: Using **kwargs when writing functions 518 ............................................................................................
Section 110.2: Using *args when writing functions 518 ..................................................................................................
Section 110.3: Populating kwarg values with a dictionary 519 .....................................................................................
Section 110.4: Keyword-only and Keyword-required arguments 519 ........................................................................
Section 110.5: Using **kwargs when calling functions 519 ............................................................................................
Section 110.6: **kwargs and default values 519 .............................................................................................................
Section 110.7: Using *args when calling functions 520 ..................................................................................................
Chapter 111: Garbage Collection 521 ........................................................................................................................
Section 111.1: Reuse of primitive objects 521 ..................................................................................................................
Section 111.2: Eects of the del command 521 ..............................................................................................................
Section 111.3: Reference Counting 522 ............................................................................................................................
Section 111.4: Garbage Collector for Reference Cycles 522 .........................................................................................
Section 111.5: Forcefully deallocating objects 523 .........................................................................................................
Section 111.6: Viewing the refcount of an object 524 .....................................................................................................
Section 111.7: Do not wait for the garbage collection to clean up 524 ........................................................................
Section 111.8: Managing garbage collection 524 ...........................................................................................................
Chapter 112: Pickle data serialisation 526 .............................................................................................................
Section 112.1: Using Pickle to serialize and deserialize an object 526 ..........................................................................
Section 112.2: Customize Pickled Data 526 ....................................................................................................................
Chapter 113: Binary Data 528 ......................................................................................................................................
Section 113.1: Format a list of values into a byte object 528 ........................................................................................
Section 113.2: Unpack a byte object according to a format string 528 ......................................................................
Section 113.3: Packing a structure 528 ............................................................................................................................
Chapter 114: Idioms 530 ..................................................................................................................................................
Section 114.1: Dictionary key initializations 530 ..............................................................................................................
Section 114.2: Switching variables 530 ............................................................................................................................
Section 114.3: Use truth value testing 530 ......................................................................................................................
Section 114.4: Test for "__main__" to avoid unexpected code execution 531 ..........................................................
Chapter 115: Data Serialization 533 ..........................................................................................................................
Section 115.1: Serialization using JSON 533 ....................................................................................................................
Section 115.2: Serialization using Pickle 533 ...................................................................................................................
Chapter 116: Multiprocessing 535 ...............................................................................................................................
Section 116.1: Running Two Simple Processes 535 .........................................................................................................
Section 116.2: Using Pool and Map 535 ...........................................................................................................................
Chapter 117: Multithreading 537 .................................................................................................................................
Section 117.1: Basics of multithreading 537 ....................................................................................................................
Section 117.2: Communicating between threads 538 ....................................................................................................
Section 117.3: Creating a worker pool 539 ......................................................................................................................
Section 117.4: Advanced use of multithreads 539 ..........................................................................................................
Section 117.5: Stoppable Thread with a while Loop 541 ...............................................................................................
Chapter 118: Processes and Threads 542 ..............................................................................................................
Section 118.1: Global Interpreter Lock 542 ......................................................................................................................
Section 118.2: Running in Multiple Threads 543 .............................................................................................................
Section 118.3: Running in Multiple Processes 544 ..........................................................................................................
Section 118.4: Sharing State Between Threads 544 .......................................................................................................
Section 118.5: Sharing State Between Processes 545 ....................................................................................................
Chapter 119: Python concurrency 546 .....................................................................................................................
Section 119.1: The multiprocessing module 546 .............................................................................................................
Section 119.2: The threading module 547 .......................................................................................................................
Section 119.3: Passing data between multiprocessing processes 547 ........................................................................
Chapter 120: Parallel computation 550 ..................................................................................................................
Section 120.1: Using the multiprocessing module to parallelise tasks 550 .................................................................
Section 120.2: Using a C-extension to parallelize tasks 550 ........................................................................................
Section 120.3: Using Parent and Children scripts to execute code in parallel 550 ....................................................
Section 120.4: Using PyPar module to parallelize 551 ..................................................................................................
Chapter 121: Sockets 552 ................................................................................................................................................
Section 121.1: Raw Sockets on Linux 552 .........................................................................................................................
Section 121.2: Sending data via UDP 552 .......................................................................................................................
Section 121.3: Receiving data via UDP 553 .....................................................................................................................
Section 121.4: Sending data via TCP 553 ........................................................................................................................
Section 121.5: Multi-threaded TCP Socket Server 553 ...................................................................................................
Chapter 122: Websockets 556 ......................................................................................................................................
Section 122.1: Simple Echo with aiohttp 556 ...................................................................................................................
Section 122.2: Wrapper Class with aiohttp 556 .............................................................................................................
Section 122.3: Using Autobahn as a Websocket Factory 557 ......................................................................................
Chapter 123: Sockets And Message Encryption/Decryption Between Client and Server
559 ............................................................................................................................................................................................
Section 123.1: Server side Implementation 559 ..............................................................................................................
Section 123.2: Client side Implementation 561 ..............................................................................................................
Chapter 124: Python Networking 563 .....................................................................................................................
Section 124.1: Creating a Simple Http Server 563 ..........................................................................................................
Section 124.2: Creating a TCP server 563 ......................................................................................................................
Section 124.3: Creating a UDP Server 564 .....................................................................................................................
Section 124.4: Start Simple HttpServer in a thread and open the browser 564 .........................................................
Section 124.5: The simplest Python socket client-server example 565 .......................................................................
Chapter 125: Python HTTP Server 567 ....................................................................................................................
Section 125.1: Running a simple HTTP server 567 .........................................................................................................
Section 125.2: Serving files 567 ........................................................................................................................................
Section 125.3: Basic handling of GET, POST, PUT using BaseHTTPRequestHandler 568 .........................................
Section 125.4: Programmatic API of SimpleHTTPServer 569 .......................................................................................
Chapter 126: Flask 571 ....................................................................................................................................................
Section 126.1: Files and Templates 571 ...........................................................................................................................
Section 126.2: The basics 571 ..........................................................................................................................................
Section 126.3: Routing URLs 572 .....................................................................................................................................
Section 126.4: HTTP Methods 573 ...................................................................................................................................
Section 126.5: Jinja Templating 573 ...............................................................................................................................
Section 126.6: The Request Object 574 ..........................................................................................................................
Chapter 127: Introduction to RabbitMQ using AMQPStorm 576 ................................................................
Section 127.1: How to consume messages from RabbitMQ 576 ..................................................................................
Section 127.2: How to publish messages to RabbitMQ 577 .........................................................................................
Section 127.3: How to create a delayed queue in RabbitMQ 577 ................................................................................
Chapter 128: Descriptor 580 .........................................................................................................................................
Section 128.1: Simple descriptor 580 ...............................................................................................................................
Section 128.2: Two-way conversions 581 .......................................................................................................................
Chapter 129: tempfile NamedTemporaryFile 582 .............................................................................................
Section 129.1: Create (and write to a) known, persistent temporary file 582 .............................................................
Chapter 130: Input, Subset and Output External Data Files using Pandas 584 .................................
Section 130.1: Basic Code to Import, Subset and Write External Data Files Using Pandas 584 ...............................
Chapter 131: Unzipping Files 586 ................................................................................................................................
Section 131.1: Using Python ZipFile.extractall() to decompress a ZIP file 586 ............................................................
Section 131.2: Using Python TarFile.extractall() to decompress a tarball 586 ...........................................................
Chapter 132: Working with ZIP archives 587 ........................................................................................................
Section 132.1: Examining Zipfile Contents 587 ...............................................................................................................
Section 132.2: Opening Zip Files 587 ...............................................................................................................................
Section 132.3: Extracting zip file contents to a directory 588 .......................................................................................
Section 132.4: Creating new archives 588 ......................................................................................................................
Chapter 133: Getting start with GZip 589 ..............................................................................................................
Section 133.1: Read and write GNU zip files 589 ............................................................................................................
Chapter 134: Stack 590 ...................................................................................................................................................
Section 134.1: Creating a Stack class with a List Object 590 ........................................................................................
Section 134.2: Parsing Parentheses 591 .........................................................................................................................
Chapter 135: Working around the Global Interpreter Lock (GIL) 593 .....................................................
Section 135.1: Multiprocessing.Pool 593 ..........................................................................................................................
Section 135.2: Cython nogil: 594 ......................................................................................................................................
Chapter 136: Deployment 595 .....................................................................................................................................
Section 136.1: Uploading a Conda Package 595 ............................................................................................................
Chapter 137: Logging 597 ..............................................................................................................................................
Section 137.1: Introduction to Python Logging 597 ........................................................................................................
Section 137.2: Logging exceptions 598 ...........................................................................................................................
Chapter 138: Web Server Gateway Interface (WSGI) 601 .............................................................................
Section 138.1: Server Object (Method) 601 .....................................................................................................................
Chapter 139: Python Server Sent Events 602 ......................................................................................................
Section 139.1: Flask SSE 602 .............................................................................................................................................
Section 139.2: Asyncio SSE 602 ........................................................................................................................................
Chapter 140: Alternatives to switch statement from other languages 604 .......................................
Section 140.1: Use what the language oers: the if/else construct 604 .....................................................................
Section 140.2: Use a dict of functions 604 ......................................................................................................................
Section 140.3: Use class introspection 605 .....................................................................................................................
Section 140.4: Using a context manager 606 ................................................................................................................
Chapter 141: List destructuring (aka packing and unpacking) 607 .........................................................
Section 141.1: Destructuring assignment 607 .................................................................................................................
Section 141.2: Packing function arguments 608 ............................................................................................................
Section 141.3: Unpacking function arguments 610 ........................................................................................................
Chapter 142: Accessing Python source code and bytecode 611 ..............................................................
Section 142.1: Display the bytecode of a function 611 ..................................................................................................
Section 142.2: Display the source code of an object 611 .............................................................................................
Section 142.3: Exploring the code object of a function 612 ..........................................................................................
Chapter 143: Mixins 613 ..................................................................................................................................................
Section 143.1: Mixin 613 .....................................................................................................................................................
Section 143.2: Overriding Methods in Mixins 614 ...........................................................................................................
Chapter 144: Attribute Access 615 ...........................................................................................................................
Section 144.1: Basic Attribute Access using the Dot Notation 615 ...............................................................................
Section 144.2: Setters, Getters & Properties 615 ............................................................................................................
Chapter 145: ArcPy 618 ..................................................................................................................................................
Section 145.1: createDissolvedGDB to create a file gdb on the workspace 618 ........................................................
Section 145.2: Printing one field's value for all rows of feature class in file geodatabase using Search
Cursor 618 .................................................................................................................................................................
Chapter 146: Abstract Base Classes (abc) 619 ...................................................................................................
Section 146.1: Setting the ABCMeta metaclass 619 .......................................................................................................
Section 146.2: Why/How to use ABCMeta and @abstractmethod 619 ......................................................................
Chapter 147: Plugin and Extension Classes 621 .................................................................................................
Section 147.1: Mixins 621 ...................................................................................................................................................
Section 147.2: Plugins with Customized Classes 622 .....................................................................................................
Chapter 148: Immutable datatypes(int, float, str, tuple and frozensets) 624 ..................................
Section 148.1: Individual characters of strings are not assignable 624 .......................................................................
Section 148.2: Tuple's individual members aren't assignable 624 ...............................................................................
Section 148.3: Frozenset's are immutable and not assignable 624 .............................................................................
Chapter 149: Incompatibilities moving from Python 2 to Python 3 625 ................................................
Section 149.1: Integer Division 625 ...................................................................................................................................
Section 149.2: Unpacking Iterables 626 ..........................................................................................................................
Section 149.3: Strings: Bytes versus Unicode 628 ..........................................................................................................
Section 149.4: Print statement vs. Print function 630 ....................................................................................................
Section 149.5: Dierences between range and xrange functions 631 ........................................................................
Section 149.6: Raising and handling Exceptions 632 .....................................................................................................
Section 149.7: Leaked variables in list comprehension 634 ..........................................................................................
Section 149.8: True, False and None 635 ........................................................................................................................
Section 149.9: User Input 635 ...........................................................................................................................................
Section 149.10: Comparison of dierent types 636 .......................................................................................................
Section 149.11: .next() method on iterators renamed 636 .............................................................................................
Section 149.12: filter(), map() and zip() return iterators instead of sequences 637 ...................................................
Section 149.13: Renamed modules 637 ...........................................................................................................................
Section 149.14: Removed operators <> and ``, synonymous with != and repr() 638 ...................................................
Section 149.15: long vs. int 638 .........................................................................................................................................
Section 149.16: All classes are "new-style classes" in Python 3 639 ............................................................................
Section 149.17: Reduce is no longer a built-in 640 .........................................................................................................
Section 149.18: Absolute/Relative Imports 640 ..............................................................................................................
Section 149.19: map() 642 ................................................................................................................................................
Section 149.20: The round() function tie-breaking and return type 643 ....................................................................
Section 149.21: File I/O 644 ..............................................................................................................................................
Section 149.22: cmp function removed in Python 3 644 ...............................................................................................
Section 149.23: Octal Constants 645 ...............................................................................................................................
Section 149.24: Return value when writing to a file object 645 ....................................................................................
Section 149.25: exec statement is a function in Python 3 645 ......................................................................................
Section 149.26: encode/decode to hex no longer available 646 .................................................................................
Section 149.27: Dictionary method changes 647 ..........................................................................................................
Section 149.28: Class Boolean Value 647 .......................................................................................................................
Section 149.29: hasattr function bug in Python 2 648 ...................................................................................................
Chapter 150: 2to3 tool 650 ............................................................................................................................................
Section 150.1: Basic Usage 650 ........................................................................................................................................
Chapter 151: Non-ocial Python implementations 652 ................................................................................
Section 151.1: IronPython 652 ...........................................................................................................................................
Section 151.2: Jython 652 .................................................................................................................................................
Section 151.3: Transcrypt 653 ..........................................................................................................................................
Chapter 152: Abstract syntax tree 656 ...................................................................................................................
Section 152.1: Analyze functions in a python script 656 ................................................................................................
Chapter 153: Unicode and bytes 658 .......................................................................................................................
Section 153.1: Encoding/decoding error handling 658 ..................................................................................................
Section 153.2: File I/O 658 ................................................................................................................................................
Section 153.3: Basics 659 ..................................................................................................................................................
Chapter 154: Python Serial Communication (pyserial) 661 .........................................................................
Section 154.1: Initialize serial device 661 .........................................................................................................................
Section 154.2: Read from serial port 661 .......................................................................................................................
Section 154.3: Check what serial ports are available on your machine 661 ..............................................................
Chapter 155: Neo4j and Cypher using Py2Neo 664 .........................................................................................
Section 155.1: Adding Nodes to Neo4j Graph 664 ..........................................................................................................
剩余855页未读,继续阅读
2018-09-06 上传
2024-10-15 上传
2024-10-16 上传
2024-10-15 上传
傻啦嘿哟
- 粉丝: 5954
- 资源: 87
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C语言快速排序算法的实现与应用
- KityFormula 编辑器压缩包功能解析
- 离线搭建Kubernetes 1.17.0集群教程与资源包分享
- Java毕业设计教学平台完整教程与源码
- 综合数据集汇总:浏览记录与市场研究分析
- STM32智能家居控制系统:创新设计与无线通讯
- 深入浅出C++20标准:四大新特性解析
- Real-ESRGAN: 开源项目提升图像超分辨率技术
- 植物大战僵尸杂交版v2.0.88:新元素新挑战
- 掌握数据分析核心模型,预测未来不是梦
- Android平台蓝牙HC-06/08模块数据交互技巧
- Python源码分享:计算100至200之间的所有素数
- 免费视频修复利器:Digital Video Repair
- Chrome浏览器新版本Adblock Plus插件发布
- GifSplitter:Linux下GIF转BMP的核心工具
- Vue.js开发教程:全面学习资源指南
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功