非常教程

Python参考手册

翻译 | Interpreters

codeop

codeop模块提供了用于模拟Python read-eval-print循环的实用程序,就像code模块中所做的那样。因此,您可能不想直接使用该模块; 如果你想在你的程序中包含这样一个循环,你可能需要使用该code模块。

这项工作有两部分:

1. 能够判断一行输入是否完成了Python语句:简而言之,告诉是否打印下一个' >>>'或' ...'。

2. 记住用户已经输入了哪些未来的陈述,因此随后的输入可以用这些陈述进行编译。

codeop模块提供了一种做这些事情的方式,以及一种做这些事情的方式。

要做前者:

codeop.compile_command(source[, filename[, symbol]])

尝试编译代码,如果源代码 是有效的Python代码,它应该是一串Python代码并返回一个代码对象。在这种情况下,代码对象的文件名属性将是文件名,默认为'<input>'。返回None如果来源不是有效的Python代码,但有效的Python代码前缀。

如果源存在问题,则会引发异常。 如果存在无效的Python语法,则会引发SyntaxError;如果存在无效的文字,则会引发OverflowError或ValueError。

所述符号参数确定是否被编译为一个声明('single'作为,缺省值)或表达式('eval')。任何其他价值都会导致ValueError提高。

注意

解析器可能(但不太可能)在到达源代码结束之前停止解析并获得成功的结果; 在这种情况下,可以忽略尾随符号而不是引起错误。例如,后跟两个换行符的反斜线后面可能会出现任意垃圾。一旦解析器的API更好,这将被修复。

class codeop.Compile

这个类的实例具有__call__()与内置函数签名相同的方法compile(),但不同之处在于,如果实例编译包含__future__语句的程序文本,那么实例会“记住”,并用生效的语句编译所有后续程序文本。

class codeop.CommandCompiler

这个类别的实例具有__call__()与签名相同的方法compile_command(); 不同之处在于,如果实例编译包含__future__语句的程序文本,那么该实例会'记住'并且使用有效的语句编译所有随后的程序文本。

关于版本兼容性的说明:Compile和CommandCompiler在Python 2.2中是新的。 如果您希望启用2.2的未来跟踪功能,并保持与2.1及更早版本Python的兼容性,您可以编写它们

try:
    from codeop import CommandCompiler
    compile_command = CommandCompiler()
    del CommandCompiler
except ImportError:
    from codeop import compile_command

这是一个影响较小的更改,但会在程序中引入可能不需要的全局状态,或者可以编写:

try:
    from codeop import CommandCompiler
except ImportError:
    def CommandCompiler():
        from codeop import compile_command
        return compile_command

然后CommandCompiler每次需要一个新的编译器对象时调用它。

翻译 | Interpreters相关

Python

Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于1989年发明,第一个公开发行版发行于1991年。 Python 是纯粹的自由软件, 源代码和解释器 CPython 遵循 GPL 协议。Python 语法简洁清晰,特色之一是强制用空白符( white space )作为语句缩进。

主页 https://www.python.org/
源码 https://github.com/python/cpython
版本 2.7
发布版本 2.7.13

Python目录

1.内置常量 | Built-in Constants
2.内置例外 | Built-in Exceptions
3.内置函数 | Built-in Functions
4.内置类型 | Built-in Types
5.编译器 | Compiler
6.加密 | Cryptography
7.数据压缩 | Data Compression
8.数据持久性 | Data Persistence
9.数据类型 | Data Types
10.调试和分析 | Debugging & Profiling
11.开发工具 | Development Tools
12.文件和目录访问 | File & Directory Access
13.文件格式 | File Formats
14.构架 | Frameworks
15.输入 | Importing
16.输入/输出 | Input/ouput
17.国际化 | Internationalization
18.网络 | Internet
19.网络数据 | Internet Data
20.翻译 | Interpreters
21.语言 | Language
22.记录 | Logging
23.Mac OS
24.MS Windows
25.多媒体 | Multimedia
26.联网 | Networking
27.数字与数学 | Numeric & Mathematical
28.操作系统 | Operating System
29.可选操作系统 | Optional Operating System
30.限制执行 | Restricted Execution
31.运行 | Runtime
32.SGI IRIX
33.软件包装与分销 | Software Packaging & Distribution
34.字符串 | String
35.结构化标记 | Structured Markup
36.Tk
37.Unix
38.Python 简介
39.Python pass 语句
40.Python 循环嵌套
41.Python 运算符
42.Python log10() 函数
43.Python log() 函数
44.Python floor() 函数
45.Python fabs() 函数
46.Python exp() 函数
47.Python cmp() 函数
48.Python ceil() 函数
49.Python abs() 函数
50.Python Number(数字)
51.Python pow() 函数
52.Python modf() 函数
53.Python min() 函数
54.Python max() 函数
55.Python asin() 函数
56.Python acos() 函数
57.Python uniform() 函数
58.Python shuffle() 函数
59.Python seed() 函数
60.Python random() 函数
61.Python randrange() 函数
62.Python choice() 函数
63.Python sqrt() 函数
64.Python round() 函数
65.Python radians() 函数
66.Python degrees() 函数
67.Python tan() 函数
68.Python sin() 函数
69.Python hypot() 函数
70.Python cos() 函数
71.Python atan2() 函数
72.Python atan() 函数
73.Python 元组
74.Python 列表(List)
75.Python 字符串
76.Python 字典(Dictionary)
77.Python 日期和时间
78.Python 函数
79.Python 模块
80.Python capitalize()方法
81.Python center()方法
82.Python count() 方法
83.Python expandtabs()方法
84.Python endswith()方法
85.Python encode()方法
86.Python decode()方法
87.Python find()方法
88.Python index()方法
89.Python 异常处理
90.Python isspace()方法
91.Python isnumeric()方法
92.Python islower()方法
93.Python isdigit()方法
94.Python isalpha()方法
95.Python isalnum()方法
96.Python isupper()方法
97.Python istitle()方法
98.Python min()方法
99.Python max()方法
100.Python maketrans()方法