Python 语言参考

这是Python官方文档中的功能列表及其在TorchScript中的支持情况的一对一映射。具体分类如下:

章节

状态

注意

1. 引言

不相关内容

1.1. 替代实现

不相关内容

1.2. 标记法

不相关内容

2. 词法分析

不相关内容

2.1. 行的结构

不相关内容

2.1.1. 逻辑行

不相关内容

2.1.2. 物理行

支持

2.1.3. 注释

支持

2.1.4. 编码声明

不予支持

TorchScript 不支持 Unicode

2.1.5. 显式行续

支持

2.1.6. 隐式行连接

支持

2.1.7. 空行

支持

2.1.8. 缩进

支持

2.1.9. 令牌间的空白

不相关内容

2.2. 其他符号

不相关内容

2.3. 标识符和关键字

支持

2.3.1. 关键字

支持

2.3.2. 预留的标识符类别

支持

2.4. 字面量

不相关内容

2.4.1. 字符串和字节_literals

支持

字符串的拼接

支持

2.4.3. 带格式的字符串.literal

部分支持

2.4.4. 数值字面量

支持

2.4.5. 整数字面量

支持

2.4.6. 浮点数字面量

支持

2.4.7. 虚数字面量

不予支持

2.5. 操作符

部分支持

不支持的符号有:<<>>:=

2.6. 分隔符

部分支持

不支持的操作符有:**=<<=>>=%=^=@=&=//= 以及某些类型的 % 操作符(例如 str 类型)。

3. 数据模型

不相关内容

3.1. 对象、值和类型

不相关内容

3.2. 标准类型层级结构

部分支持

不支持:NotImplemented, Ellipsis, numbers.Complex, 字节, 字节数组, 集合, 冻结集合, 生成器, 协程, 异步生成器, 模块, I/O 对象, 内部对象, 切片对象(虽然支持切片操作), 类方法

3.3. 特殊方法名称

支持

3.3.1. 基本定制

部分支持

不支持的函数有: __new__, __del__, __bytes__, __format__, __hash__,

3.3.2. 自定义属性访问

不予支持

3.3.2.1. 自定义模块属性访问

不予支持

实现描述符 (3.3.2.2)

不予支持

3.3.2.3. 描述符的调用

不予支持

3.3.2.4. __slots__

不予支持

3.3.2.4.1. 使用 __slots__ 的注意事项

不予支持

3.3.3. 自定义类的创建

不予支持

3.3.3.1. 元类

不予支持

3.3.3.2. 解决 MRO 条目

不予支持

super() 不被支持

3.3.3.3. 确定合适的元类

不相关

3.3.3.4. 准备类的命名空间

不相关

3.3.3.5. 类体的执行

不相关

3.3.3.6. 创建类对象

不相关

元类的使用场合

不相关

3.3.4. 自定义实例和子类的检查

不予支持

3.3.5. 泛型类型的模拟

不予支持

3.3.6. 可调用对象的模拟

支持

3.3.7. 模拟容器类型

部分支持

某些魔术方法不被支持(例如 __iter__

3.3.8. 数值类型的模拟

部分支持

不支持带有交换操作数的魔术方法(__r*__

3.3.9. With语句上下文管理器

不予支持

特殊方法的查找

不相关

3.4. 协程

不予支持

3.4.1. 可等待对象

不予支持

3.4.2. 协程对象

不予支持

3.4.3. 异步迭代器

不予支持

3.4.4. 异步上下文管理器

不予支持

4. 执行模型

不相关内容

4.1. 程序的结构

不相关内容

4.2. 命名与绑定

不相关内容

在TorchScript中,名称在编译时被绑定。

4.2.1. 名称绑定

不相关内容

参见 globalnonlocal 语句的部分

4.2.2. 名称解析

不相关内容

参见 globalnonlocal 语句的部分

4.2.3. 内置函数和受限执行

不相关内容

4.2.4. 动态特性的交互

不予支持

无法捕获 Python 值

4.3. 异常

部分支持

参见 tryraise 语句的部分

5. 导入系统

不相关内容

6. 表达式

不相关内容

参见“表达式”部分

6.1. 算术转换

支持

6.2. 原子

不相关内容

6.2.1. 标识符(名字)

支持

6.2.2. 字面量

部分支持

bytesliteralimagnumber 不被支持

6.2.3. 括号形式

支持

6.2.4. 列表、集合和字典的表示

部分支持

不支持:推导式中的 if 语句和异步迭代器

6.2.5. 列表推导式

支持

6.2.6. 集合表示

不予支持

6.2.7. 字典表示

支持

dict() 构造函数无法使用关键字参数,字典推导式和字典解包

6.2.8. 生成器表达式

不予支持

6.2.9. yield 表达式

不予支持

6.2.9.1. 生成器迭代器的方法

不予支持

示例

不予支持

6.2.9.3. 异步生成器函数

不予支持

6.2.9.4. 异步生成器迭代器的方法

不予支持

6.3. 基本成分

支持

6.3.1. 属性引用

支持

6.3.2. 下标操作

支持

6.3.3. 切片

部分支持

不支持带步长的元组切片

6.3.4. 函数调用

部分支持

不支持解包 args 和 kwargs

6.4. await表达式

不予支持

6.5. 幂运算符

支持

6.6. 单目算术和位操作

部分支持

某些位运算符在基本数据类型中未实现(例如,~x 中的 xint 类型时当前不被支持)

6.7. 二元 arithmetic 运算

部分支持

参见“分隔符”部分

6.8. 移位运算

不予支持

6.9. 二进制位运算

支持

6.10. 比较运算

支持

6.10.1. 值的比较

部分支持

当前不支持字典的相等性检查

6.10.2. 成员测试操作

部分支持

TorchScript 类不受支持

6.10.3. 身份比较

支持

6.11. 布尔运算

支持

6.12. 条件表达式

支持

6.13. Lambda表达式

不予支持

6.14. 表达式列表

部分支持

不支持迭代解包

6.15. 表达式的求值顺序

支持

操作符优先级

支持

7. 简单语句

支持

7.1. 表达式语句

支持

7.2. 赋值语句

支持

7.2.1. 增强赋值语句

部分支持

参见“分隔符”部分

7.2.2. 带注释的赋值语句

支持

7.3. assert 语句

部分支持

异常信息无法自定义

7.4. pass 语句

支持

7.5. del 语句

不予支持

7.6. 返回语句

支持

返回的其他一些特性(如与 try..finally 语句的行为)不受支持

7.7. yield 语句

不予支持

7.8. raise 语句

部分支持

异常信息无法自定义

7.9. break 语句

支持

返回的其他一些特性(如与 try..finally 语句的行为)不受支持

7.10. continue 语句

支持

返回的其他一些特性(如与 try..finally 语句的行为)不受支持

7.11. 导入语句

不予支持

7.11.1. 未来声明

不予支持

7.12. global 语句

不予支持

7.13. nonlocal 语句

不予支持

8. 复合语句

无关紧要

8.1. if 语句

支持

8.2. while 语句

部分支持

不支持 while..else 结构

8.3. for 语句

部分支持

不支持 for..else 结构

8.4. try 语句

不予支持

8.5. with 语句

部分支持

__exit__ 总是被调用,并将参数 exc_typeexc_valuetraceback 设置为 None。即使引发了异常,也会忽略 __exit__ 的返回值。

8.6. 函数定义

不予支持

8.7. 类定义

不予支持

8.8. 协程

不予支持

协程函数定义

不予支持

8.8.2. async for 语句

不予支持

8.8.3. async with 语句

不予支持

9. 顶层组件

不相关内容

9.1. 完整的 Python 程序

不相关内容

9.2. 文件输入

不相关内容

9.3. 交互式输入

不相关内容

9.4. 表达式输入

不相关内容

本页目录