The Python Tutorial(教程)

The Python Tutorial(教程)

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(平台).

The Python interpreter and the extensive(广泛) standard library are freely available in source(源码) or binary(二进制) form for all major platforms from the Python Web site, https://www.python.org/, and may be freely distributed(分发). The same site also contains distributions of and pointers to many free third party Python modules, programs and tools, and additional(额外附加) documentation(文件)

.The Python interpreter is easily extended with new functions and data types(数据类型) implemented(实施执行) in C or C++ (or other languages callable from C). Python is also suitable(适用) as an extension (扩展)language for customizable(特定的 定制的) applications.

This tutorial introduces the reader informally(非正式的) to the basic concepts(概念) and features(特征) of the Python language and system. It helps to have a Python interpreter handy for hands-on experience, but all examples are self-contained, so the tutorial can be read off-line as well.

For a description of standard objects and modules, see The Python Standard Library. The Python Language Reference gives a more formal definition of the language. To write extensions in C or C++, read Extending and Embedding the Python Interpreter and Python/C API Reference Manual. There are also several books covering Python in depth.

有关标准对象和模块的说明,请参阅Python标准库。 Python语言参考提供了更正式的语言定义。 要用C或C ++编写扩展,请阅读扩展和嵌入Python解释器和Python / C API参考手册。 还有几本关于Python的书籍。

This tutorial does not attempt to be comprehensive(全面) and cover every single feature, or even every commonly(常用的) used feature. Instead, it introduces many of Python’s most noteworthy(值得的) features, and will give you a good idea of the language’s flavor(味道) and style. After reading it, you will be able to read and write Python modules and programs, and you will be ready to learn more about the various Python library modules described in The Python Standard Library.

本教程不会尝试全面,涵盖每个功能,甚至每个常用功能。 相反,它引入了许多Python最值得注意的功能,并且会让您对语言的风格和风格有所了解。 阅读完之后,您将能够阅读和编写Python模块和程序,并且您将准备好了解有关Python标准库中描述的各种Python库模块的更多信息。

The Glossary is also worth going through. 词汇表

  • 1. Whetting Your Appetite
  • 2. Using the Python Interpreter
    • 2.1. Invoking the Interpreter
      • 2.1.1. Argument Passing
      • 2.1.2. Interactive Mode
    • 2.2. The Interpreter and Its Environment
      • 2.2.1. Source Code Encoding
  • 3. An Informal Introduction to Python
    • 3.1. Using Python as a Calculator
      • 3.1.1. Numbers
      • 3.1.2. Strings
      • 3.1.3. Lists
    • 3.2. First Steps Towards Programming
  • 4. More Control Flow Tools
    • 4.1. if Statements
    • 4.2. for Statements
    • 4.3. The range() Function
    • 4.4. break and continue Statements, and else Clauses on Loops
    • 4.5. pass Statements
    • 4.6. Defining Functions
    • 4.7. More on Defining Functions
      • 4.7.1. Default Argument Values
      • 4.7.2. Keyword Arguments
      • 4.7.3. Arbitrary Argument Lists
      • 4.7.4. Unpacking Argument Lists
      • 4.7.5. Lambda Expressions
      • 4.7.6. Documentation Strings
      • 4.7.7. Function Annotations
    • 4.8. Intermezzo: Coding Style
  • 5. Data Structures
    • 5.1. More on Lists
      • 5.1.1. Using Lists as Stacks
      • 5.1.2. Using Lists as Queues
      • 5.1.3. List Comprehensions
      • 5.1.4. Nested List Comprehensions
    • 5.2. The del statement
    • 5.3. Tuples and Sequences
    • 5.4. Sets
    • 5.5. Dictionaries
    • 5.6. Looping Techniques
    • 5.7. More on Conditions
    • 5.8. Comparing Sequences and Other Types
  • 6. Modules
    • 6.1. More on Modules
      • 6.1.1. Executing modules as scripts
      • 6.1.2. The Module Search Path
      • 6.1.3. “Compiled” Python files
    • 6.2. Standard Modules
    • 6.3. The dir() Function
    • 6.4. Packages
      • 6.4.1. Importing * From a Package
      • 6.4.2. Intra-package References
      • 6.4.3. Packages in Multiple Directories
  • 7. Input and Output
    • 7.1. Fancier Output Formatting
      • 7.1.1. Formatted String Literals
      • 7.1.2. The String format() Method
      • 7.1.3. Manual String Formatting
      • 7.1.4. Old string formatting
    • 7.2. Reading and Writing Files
      • 7.2.1. Methods of File Objects
      • 7.2.2. Saving structured data with json
  • 8. Errors and Exceptions
    • 8.1. Syntax Errors
    • 8.2. Exceptions
    • 8.3. Handling Exceptions
    • 8.4. Raising Exceptions
    • 8.5. User-defined Exceptions
    • 8.6. Defining Clean-up Actions
    • 8.7. Predefined Clean-up Actions
  • 9. Classes
    • 9.1. A Word About Names and Objects
    • 9.2. Python Scopes and Namespaces
      • 9.2.1. Scopes and Namespaces Example
    • 9.3. A First Look at Classes
      • 9.3.1. Class Definition Syntax
      • 9.3.2. Class Objects
      • 9.3.3. Instance Objects
      • 9.3.4. Method Objects
      • 9.3.5. Class and Instance Variables
    • 9.4. Random Remarks
    • 9.5. Inheritance
      • 9.5.1. Multiple Inheritance
    • 9.6. Private Variables
    • 9.7. Odds and Ends
    • 9.8. Iterators
    • 9.9. Generators
    • 9.10. Generator Expressions
  • 10. Brief Tour of the Standard Library
    • 10.1. Operating System Interface
    • 10.2. File Wildcards
    • 10.3. Command Line Arguments
    • 10.4. Error Output Redirection and Program Termination
    • 10.5. String Pattern Matching
    • 10.6. Mathematics
    • 10.7. Internet Access
    • 10.8. Dates and Times
    • 10.9. Data Compression
    • 10.10. Performance Measurement
    • 10.11. Quality Control
    • 10.12. Batteries Included
  • 11. Brief Tour of the Standard Library — Part II
    • 11.1. Output Formatting
    • 11.2. Templating
    • 11.3. Working with Binary Data Record Layouts
    • 11.4. Multi-threading
    • 11.5. Logging
    • 11.6. Weak References
    • 11.7. Tools for Working with Lists
    • 11.8. Decimal Floating Point Arithmetic
  • 12. Virtual Environments and Packages
    • 12.1. Introduction
    • 12.2. Creating Virtual Environments
    • 12.3. Managing Packages with pip
  • 13. What Now?
  • 14. Interactive Input Editing and History Substitution
    • 14.1. Tab Completion and History Editing
    • 14.2. Alternatives to the Interactive Interpreter
  • 15. Floating Point Arithmetic: Issues and Limitations
    • 15.1. Representation Error
  • 16. Appendix
    • 16.1. Interactive Mode
      • 16.1.1. Error Handling
      • 16.1.2. Executable Python Scripts
      • 16.1.3. The Interactive Startup File
      • 16.1.4. The Customization Modules

        1. Whetting(引起刺激) Your Appetite(食欲,欲望)  

        If you do much work on computers, eventually(终于,最终) you find that there’s some task you’d like to automate(自动花). For example, you may wish to perform(实施,实现) a search-and-replace over a large number of text files, or rename and rearrange(改编) a bunch of(一堆) photo files in a complicated(复杂) way. Perhaps you’d like to write a small custom(自定义) database(小型自定义数据库), or a specialized(专门的) GUI application(应用), or a simple game.

        If you’re a professional(专业的) software developer, you may have to work with several C/C++/Java libraries but find the usual write/compile/test/re-compile(编译) cycle is too slow. Perhaps you’re writing a test suite(队列) for such a library and find writing the testing code(测试代码) a tedious(乏味) task. Or maybe you’ve written a program that could use an extension(延伸扩展) language, and you don’t want to design and implement(实现) a whole new language for your application.

        Python is just the language for you.

        You could write a Unix shell script(unix shell 脚本) or Windows batch files(windows批处理文件) for some of these tasks, but shell scripts are best at moving around files(移动文件) and changing text data(修改文本数据), not well-suited for GUI applications or games. You could write a C/C++/Java program, but it can take a lot of development time to get even a first-draft program(初稿计划). Python is simpler to use, available on Windows, Mac OS X, and Unix operating systems, and will help you get the job done more quickly.

        Python is simple to use, but it is a real programming language, offering much more structure and support for large programs than shell scripts or batch files can offer. On the other hand, Python also offers much more error checking than C, and, being a very-high-level language, it has high-level data types built in, such as flexible arrays (灵活的数组)and dictionaries. Because of its more general data types Python is applicable to a much larger problem domain (领域)than Awk or even Perl, yet many things are at least as easy in Python as in those languages.

        Python allows you to split your program into modules that can be reused in(被重用,或调用) other Python programs. It comes with(附带) a large collection of standard modules that you can use as the basis of your programs — or as examples to start learning to program in Python. Some of these modules provide things like file I/O, system calls, sockets, and even interfaces(接口) to graphical(图形) user interface toolkits(工具包) like Tk.

        Python is an interpreted(解释执行) language, which can save you considerable(大量的) time during program development because no compilation(编译) and linking(链接) is necessary. The interpreter can be used interactively(交互), which makes it easy to experiment with(体验,试验) features of the language, to write throw-away(一次性的,丢掉的) programs, or to test functions during bottom-up(自下而上) program development. It is also a handy(方便的) desk calculator(计算器).

        Python enables(使...成为可能) programs to be written compactly(简洁) and readably(刻度). Programs written in Python are typically(一般) much shorter than equivalent C, C++, or Java programs, for several reasons:

      • the high-level data types allow you to express complex operations in a single statement;
      • statement grouping(语句分组) is done by indentation(缩进) instead of beginning and ending brackets(括号);
      • no variable (变量)or argument(参数) declarations (声明)are necessary.
      • Python is extensible: if you know how to program in C it is easy to add a new built-in function or module to the interpreter(解释器), either to perform(操作执行) critical(关键) operations at maximum speed, or to link Python programs to libraries that may only be available in binary form (such as a vendor-specific graphics library). Once you are really hooked(迷上), you can link the Python interpreter into an application written in C and use it as an extension or command language for that application.一旦你真正迷上了(迷上),你就可以将Python解释器链接到用C编写的应用程序中,并将其用作该应用程序的扩展或命令语言。

        By the way, the language is named after the BBC show “Monty Python’s Flying Circus” and has nothing to do with reptiles. Making references to Monty Python skits in documentation is not only allowed, it is encouraged!

        Now that you are all excited about Python, you’ll want to examine(检查) it in some more detail. Since the best way to learn a language is to use it, the tutorial invites(邀请) you to play with the Python interpreter as you read.

        In the next chapter, the mechanics of using the interpreter are explained. This is rather mundane information, but essential for trying out the examples shown later.

        The rest of the tutorial introduces various features of the Python language and system through examples, beginning with simple expressions, statements and data types, through functions and modules, and finally touching upon advanced concepts like exceptions and user-defined classes.

      • 本教程的其余部分通过示例介绍了Python语言和系统的各种功能,从简单的表达式,语句和数据类型开始,通过函数和模块,最后涉及异常和用户定义的类等高级概念。

你可能感兴趣的:(python)