Shortcuts

Python 语言参考覆盖范围

这是https://docs.python.org/3/reference/中列出的特性的1:1映射及其在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. 字符串和字节字面量

支持

2.4.2. 字符串字面值连接

支持

2.4.3. 格式化字符串字面量

部分支持

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、bytes、字节数组、集合、冻结集合、生成器、协程、异步生成器、模块、I/O对象、内部对象、切片对象(尽管支持切片)、classmethod

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.3.7. 元类的用途

不相关

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

不支持

3.3.5. 模拟通用类型

不支持

3.3.6. 模拟可调用对象

支持

3.3.7. 模拟容器类型

部分支持

一些不被支持的魔法方法(例如 __iter__

3.3.8. 模拟数值类型

部分支持

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

3.3.9. With语句上下文管理器

不支持

3.3.10. 特殊方法查找

不相关

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. 字面量

部分支持

bytesliteral, imagnumber 不支持

6.2.3. 带括号的形式

支持

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

部分支持

不支持:comprehension ifs, 异步迭代器

6.2.5. 列表显示

支持

6.2.6. 集合显示

不支持

6.2.7. 字典显示

支持

使用 kwargs 的 dict() 构造函数不起作用,字典推导式,字典解包

6.2.8. 生成器表达式

不支持

6.2.9. 生成表达式

不支持

6.2.9.1. 生成器迭代器方法

不支持

6.2.9.2. 示例

不支持

6.2.9.3. 异步生成器函数

不支持

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

不支持

6.3. 主要表达式

支持

6.3.1. 属性引用

支持

6.3.2. 订阅

支持

6.3.3. 切片

部分支持

不支持带步长的元组切片

6.3.4. 调用

部分支持

不支持参数解包 / 关键字参数解包

6.4. Await 表达式

不支持

6.5. 幂运算符

支持

6.6. 一元算术和位运算

部分支持

一些位运算符未针对基本类型实现(例如,~x 其中 x 是一个 int 目前不受支持)

6.7. 二元算术运算

部分支持

查看分隔符部分

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. 求值顺序

支持

6.16. 运算符优先级

支持

7. 简单语句

支持

7.1. 表达式语句

支持

7.2. 赋值语句

支持

7.2.1. 增强赋值语句

部分支持

查看分隔符部分

7.2.2. 带注释的赋值语句

支持

7.3. 断言语句

部分支持

异常消息不可自定义

7.4. pass 语句

支持

7.5. del 语句

不支持

7.6. return 语句

支持

返回的其他特性(例如,try..finally 的行为)不受支持

7.7. yield 语句

不支持

7.8. raise 语句

部分支持

异常消息不可自定义

7.9. break 语句

支持

返回的其他特性(例如,try..finally 的行为)不受支持

7.10. continue 语句

支持

返回的其他特性(例如,与 try..finally 的行为)不受支持

7.11. import 语句

不支持

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.1. 协程函数定义

不支持

8.8.2. 异步for语句

不支持

8.8.3. async with 语句

不支持

9. 顶级组件

不相关

9.1. 完整的Python程序

不相关

9.2. 文件输入

不相关

9.3. 交互式输入

不相关

9.4. 表达式输入

不相关