Comprehensive Rust(简体中文) 202412
8.4 解构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 8.5 练习:嵌套数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 8.5.1 解答 . . . . . . . % 2 == 0 { continue; } println!("{}", i); } } 6.3.1 Labels continue 和 break 都可以选择接受一个标签参数,用来终止嵌套循环: fn main() { let s = [[5, 6, 7], [8, 9, 10], [21, 15, 32]]; let mut elements_searched = 0; let contains: Slide Duration 数组(Arrays) 5 minutes 元组(Tuples) 5 minutes 数组迭代 3 minutes 解构 5 minutes 练习:嵌套数组 15 minutes 8.1 数组(Arrays) fn main() { let mut a: [i8; 10] = [42; 10]; a[5] = 0; println!("a: {a:0 码力 | 359 页 | 1.33 MB | 10 月前3Python 标准库参考指南 3.13
映射被省略则它将默认为 globals 字典。如果两个映射都被省 略,则将使用调用eval() 所在环境中的 globals 和 locals 来执行该表达式。请注意,eval() 将只能访 问所在环境中的嵌套作用域 (非局部作用域),如果它们已经在调用eval() 的作用域中被引用的话 (例如通过 nonlocal 语句)。 示例: >>> x = 1 >>> eval('x+1') 2 该函数还 locals,它可以是任何映射对象。请记住在 模块层级上,globals 和 locals 是同一个字典。 � 备注 当 exec 获得两个不同的对象作为 globals 和 locals 时,代码被执行时就会像是嵌套在一个类定 义中那样。这意味着在被执行代码中定义的函数和类将无法访问在最高层级上赋值的变量(因 为“最高层级”变量会被当作是类定义中的类变量来对待)。 如果 globals 字典不包含 __builtins__ 作为函数、生成器或协程中的一个推导式的组成部分来调用相当于在外层 作用域中调用它,不同之处在于推导式所初始化的迭代变量将被包括在内。在其他作用 域下,其行为与将推导式作为嵌套函数来运行类似。 将 locals() 作为生成器表达式的组成部分来调用相当于在嵌套的生成器函数中调用它。 在 3.12 版本发生变更: 在推导式中的 locals() 的行为已被更新为符合 PEP 709 中的描述。 在 3.13 版本发生变更:0 码力 | 2246 页 | 11.74 MB | 9 月前3Python 标准库参考指南 3.13
映射被省略则它将默认为 globals 字典。如果两个映射都被省 略,则将使用调用eval() 所在环境中的 globals 和 locals 来执行该表达式。请注意,eval() 将只能访 问所在环境中的嵌套作用域 (非局部作用域),如果它们已经在调用eval() 的作用域中被引用的话 (例如通过 nonlocal 语句)。 示例: >>> x = 1 >>> eval('x+1') 2 该函数还 locals,它可以是任何映射对象。请记住在 模块层级上,globals 和 locals 是同一个字典。 � 备注 当 exec 获得两个不同的对象作为 globals 和 locals 时,代码被执行时就会像是嵌套在一个类定 义中那样。这意味着在被执行代码中定义的函数和类将无法访问在最高层级上赋值的变量(因 为“最高层级”变量会被当作是类定义中的类变量来对待)。 如果 globals 字典不包含 __builtins__ 作为函数、生成器或协程中的一个推导式的组成部分来调用相当于在外层 作用域中调用它,不同之处在于推导式所初始化的迭代变量将被包括在内。在其他作用 域下,其行为与将推导式作为嵌套函数来运行类似。 将 locals() 作为生成器表达式的组成部分来调用相当于在嵌套的生成器函数中调用它。 在 3.12 版本发生变更: 在推导式中的 locals() 的行为已被更新为符合 PEP 709 中的描述。 在 3.13 版本发生变更:0 码力 | 2242 页 | 11.73 MB | 9 月前3Python 标准库参考指南 3.10.15
字典被省略则它默认为 globals 字典。如 果两个字典都被省略,则将使用调用eval() 的环境中的 globals 和 locals 来执行该表达式。注意, eval() 无法访问闭包环境中的嵌套作用域 (非局部变量)。 返回值就是表达式的求值结果。语法错误将作为异常被报告。例如: >>> x = 1 >>> eval('x+1') 2 该函数还可用于执行任意代码对象(比如由compile() len(view) 与tolist 的长度相等。如果 view.ndim = 0,则其长度为 1。如果 view.ndim = 1,则其长度等于 view 中元素的数量。对于更高的维度,其长度等于表示 view 的嵌套列表的长度。 itemsize 属性可向你给出单个元素所占的字节数。 memoryview 支持通过切片和索引访问其元素。一维切片的结果将是一个子视图: >>> v = memoryview(b'abcefg') 每次仅子类化一个异常类型以避免多个基类处理 args 属性的不同方式,以及内存布局不兼容可能导致的冲突。 CPython 实现细节:大多数内置异常都用 C 实现以保证运行效率,参见: Objects/exceptions.c。其中一些 具有自定义内存布局,这使得创建继承自多个异常类型的子类成为不可能。一个类型的内存布局属于实 现细节并可能随着 Python 版本升级而改变,导致在未来可能产生新的冲突。因此,建议完全避免子类化0 码力 | 2072 页 | 10.39 MB | 9 月前3Python 标准库参考指南 3.12
locals 字典被省略则它默认为 globals 字典。如果两 个字典都被省略,则将使用调用eval() 的环境中的 globals 和 locals 来执行该表达式。注意,eval() 无法访问闭包环境中的嵌套作用域 (非局部变量)。 示例: >>> x = 1 >>> eval('x+1') 2 该函数还可用于执行任意代码对象(比如由compile() 创建的对象)。这时传入的是代码对象,而 非一个字符串了。如果代码对象已用参数为 处理的原子内存单元。对于许多简单的类型, 如bytes 和bytearray ,一个元素是一个字节,但其他类型,如array.array 可能有更大的元素。 len(view) 等于tolist 的长度,即视图的嵌套列表表示形式。如果 view.ndim = 1,它将等于视 图中元素的数量。 在 3.12 版本发生变更: 如果 view.ndim == 0,现在 len(view) 将引发TypeError 而不是返回 每次仅子类化一个异常类型以避免多个基类处理 args 属性的不同方式,以及内存布局不兼容可能导致的冲突。 CPython 实现细节:大多数内置异常都用 C 实现以保证运行效率,参见: Objects/exceptions.c。其中一些 具有自定义内存布局,这使得创建继承自多个异常类型的子类成为不可能。一个类型的内存布局属于实 现细节并可能随着 Python 版本升级而改变,导致在未来可能产生新的冲突。因此,建议完全避免子类化0 码力 | 2253 页 | 11.81 MB | 9 月前3Python 标准库参考指南 3.12
locals 字典被省略则它默认为 globals 字典。如果两 个字典都被省略,则将使用调用eval() 的环境中的 globals 和 locals 来执行该表达式。注意,eval() 无法访问闭包环境中的嵌套作用域 (非局部变量)。 示例: >>> x = 1 >>> eval('x+1') 2 该函数还可用于执行任意代码对象(比如由compile() 创建的对象)。这时传入的是代码对象,而 非一个字符串了。如果代码对象已用参数为 处理的原子内存单元。对于许多简单的类型, 如bytes 和bytearray ,一个元素是一个字节,但其他类型,如array.array 可能有更大的元素。 len(view) 等于tolist 的长度,即视图的嵌套列表表示形式。如果 view.ndim = 1,它将等于视 图中元素的数量。 在 3.12 版本发生变更: 如果 view.ndim == 0,现在 len(view) 将引发TypeError 而不是返回 每次仅子类化一个异常类型以避免多个基类处理 args 属性的不同方式,以及内存布局不兼容可能导致的冲突。 CPython 实现细节:大多数内置异常都用 C 实现以保证运行效率,参见: Objects/exceptions.c。其中一些 具有自定义内存布局,这使得创建继承自多个异常类型的子类成为不可能。一个类型的内存布局属于实 现细节并可能随着 Python 版本升级而改变,导致在未来可能产生新的冲突。因此,建议完全避免子类化0 码力 | 2253 页 | 11.81 MB | 9 月前3Python 标准库参考指南 3.11.10
字典被省略则它默认为 globals 字典。如 果两个字典都被省略,则将使用调用eval() 的环境中的 globals 和 locals 来执行该表达式。注意, eval() 无法访问闭包环境中的嵌套作用域 (非局部变量)。 返回值就是表达式的求值结果。语法错误将作为异常被报告。例如: >>> x = 1 >>> eval('x+1') 2 该函数还可用于执行任意代码对象(比如由compile() 每次仅子类化一个异常类型以避免多个基类处理 args 属性的不同方式,以及内存布局不兼容可能导致的冲突。 CPython 实现细节:大多数内置异常都用 C 实现以保证运行效率,参见: Objects/exceptions.c。其中一些 具有自定义内存布局,这使得创建继承自多个异常类型的子类成为不可能。一个类型的内存布局属于实 现细节并可能随着 Python 版本升级而改变,导致在未来可能产生新的冲突。因此,建议完全避免子类化 过与 except 子句所用的相同检测来 检测是否匹配。 当前异常的嵌套结构会在结果中保留,就如其message, __traceback__, __cause__, __context__ 和__notes__ 字段的值一样。空的嵌套组会在结果中被略去。 条件检测会针对嵌套异常组中的所有异常执行,包括最高层级的和任何嵌套的异常组。如果 针对此类异常组的条件为真值,它将被完整包括在结果中。 split(condition)0 码力 | 2248 页 | 11.10 MB | 9 月前3Python 标准库参考指南 3.10.15
字典被省略则它默认为 globals 字典。如果两个字典都被省略, 则将使用调用eval() 的环境中的 globals 和 locals 来执行该表达式。注意,eval() 无法访问闭包环境中 的嵌套作用域 (非局部变量)。 返回值就是表达式的求值结果。语法错误将作为异常被报告。例如: >>> x = 1 >>> eval('x+1') 2 该函数还可用于执行任意代码对象(比如由compile() len(view) 与tolist 的长度相等。如果 view.ndim = 0,则其长度为 1。如果 view.ndim = 1,则其长度等于 view 中元素的数量。对于更高的维度,其长度等于表示 view 的嵌套列表的长度。 itemsize 属性可向你给出单个元素所占的字节数。 memoryview 支持通过切片和索引访问其元素。一维切片的结果将是一个子视图: >>> v = memoryview(b'abcefg') 每次仅子类化一个异常类型以避免多个基类处理 args 属性的不同方式,以及内存布局不兼容可能导致的冲突。 CPython 实现细节:大多数内置异常都用 C 实现以保证运行效率,参见: Objects/exceptions.c。其中一些具有 自定义内存布局,这使得创建继承自多个异常类型的子类成为不可能。一个类型的内存布局属于实现细节并 可能随着 Python 版本升级而改变,导致在未来可能产生新的0 码力 | 2207 页 | 10.45 MB | 9 月前3Python 标准库参考指南 3.9.20
字典则其默认值为 globals 字典。如果两个字典同时省略,则表达式执行时会使用eval() 被调用的环境中的 globals 和 locals。请注意,eval() 并没有对外围环境下的 (非局部) 嵌套作用域 的访问权限。 返回值就是表达式的求值结果。语法错误将作为异常被报告。例如: >>> x = 1 >>> eval('x+1') 2 这个函数也可以用来执行任何代码对象(如compile() len(view) 与tolist 的长度相等。如果 view.ndim = 0,则其长度为 1。如果 view.ndim = 1,则其长度等于 view 中元素的数量。对于更高的维度,其长度等于表示 view 的嵌套列表的长度。 itemsize 属性可向你给出单个元素所占的字节数。 memoryview 支持通过切片和索引访问其元素。一维切片的结果将是一个子视图: >>> v = memoryview(b'abcefg') 常类型以避免多个基类处理 args 属性的不同方式,以及内存布局不兼容可能导致的冲突。 CPython implementation detail: 大多数内置异常都用 C 实现以保证运行效率,参见: Objects/exceptions.c。其 中一些具有自定义内存布局,这使得创建继承自多个异常类型的子类成为不可能。一个类型的内存布局属于 实现细节并可能随着 Python 版本升级而改变,导致0 码力 | 2146 页 | 10.17 MB | 9 月前3Python 标准库参考指南 3.9.20
字典则其默认值为 globals 字典。如果两个字典同时省略,则表达式执行时会使用eval() 被调用的 环境中的 globals 和 locals。请注意,eval() 并没有对外围环境下的 (非局部) 嵌套作用域 的访问权限。 返回值就是表达式的求值结果。语法错误将作为异常被报告。例如: >>> x = 1 >>> eval('x+1') 2 这个函数也可以用来执行任何代码对象(如compile() len(view) 与tolist 的长度相等。如果 view.ndim = 0,则其长度为 1。如果 view.ndim = 1,则其长度等于 view 中元素的数量。对于更高的维度,其长度等于表示 view 的嵌套列表的长度。 itemsize 属性可向你给出单个元素所占的字节数。 memoryview 支持通过切片和索引访问其元素。一维切片的结果将是一个子视图: >>> v = memoryview(b'abcefg') 用户代码可以创建继承自某个异常类型的子类。建议每次仅子类化一个异常类型以避免多个基类处理 args 属性的不同方式,以及内存布局不兼容可能导致的冲突。 CPython implementation detail: 大多数内置异常都用 C 实现以保证运行效率,参见: Objects/exceptions.c。 其中一些具有自定义内存布局,这使得创建继承自多个异常类型的子类成为不可能。一个类型的内存布 局属于实现细节并可能随着 Python0 码力 | 2015 页 | 10.12 MB | 9 月前3
共 72 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8