 《深入浅出MFC》2/e式。对我而言,以往遗留的许多疑惑,在此都一一得到了解答。最重要的是,您曾经说过, 学习MFC 的过程中最重要的莫过于自我审视MFC 程序代码的能力。很高兴地,在我看完本书 之后,我确实比以前更有能力来看MFC 源代码了。总之,我为自己能够更深入了解MFC 而 要向您说声谢谢。谢谢您为我们写了深入浅出MFC 这本书。我受益匪浅。 加拿大. 温哥华. 陈宗泰 阁下之书,尚有人性,因此我参而再参,虽不悟,也 时 存在。然而,没有深入如何浅出?不入虎穴焉得虎子? 唯有把MFC 骨干程序的每一个基础动作弄懂,甚至观察其源代码,才能实实在在掌握MFC 这一套application framework 的内涵,及其对象导向的精神。我向来服膺一句名言:源代码 说明一切,所以,我挖MFC 源代码给你看。 这是我所谓的深入。 9 唯有掌握住MFC 的内涵,对于各式各样的MFC 应用才能够如履平地,面对庞大的 件导向的精神,然后回到MFC 的运用。这会是一条迢迢远路吗? 似远实近! 许多朋友曾经与我讨论过,对于MFC 这类application framework,应该挖掘其内部机制到什 么程度?探究源代码,岂不有违「黑盒子」初衷?但是,没有办法,他们也同意,不把那些 奇奇怪怪的宏和指令搞清楚,只能生产出玩具来。对付MFC 内部机制,态度不必像对付 MFC 类别一样;你只需好好走过那么一回,有个印0 码力 | 1009 页 | 11.08 MB | 1 年前3 《深入浅出MFC》2/e式。对我而言,以往遗留的许多疑惑,在此都一一得到了解答。最重要的是,您曾经说过, 学习MFC 的过程中最重要的莫过于自我审视MFC 程序代码的能力。很高兴地,在我看完本书 之后,我确实比以前更有能力来看MFC 源代码了。总之,我为自己能够更深入了解MFC 而 要向您说声谢谢。谢谢您为我们写了深入浅出MFC 这本书。我受益匪浅。 加拿大. 温哥华. 陈宗泰 阁下之书,尚有人性,因此我参而再参,虽不悟,也 时 存在。然而,没有深入如何浅出?不入虎穴焉得虎子? 唯有把MFC 骨干程序的每一个基础动作弄懂,甚至观察其源代码,才能实实在在掌握MFC 这一套application framework 的内涵,及其对象导向的精神。我向来服膺一句名言:源代码 说明一切,所以,我挖MFC 源代码给你看。 这是我所谓的深入。 9 唯有掌握住MFC 的内涵,对于各式各样的MFC 应用才能够如履平地,面对庞大的 件导向的精神,然后回到MFC 的运用。这会是一条迢迢远路吗? 似远实近! 许多朋友曾经与我讨论过,对于MFC 这类application framework,应该挖掘其内部机制到什 么程度?探究源代码,岂不有违「黑盒子」初衷?但是,没有办法,他们也同意,不把那些 奇奇怪怪的宏和指令搞清楚,只能生产出玩具来。对付MFC 内部机制,态度不必像对付 MFC 类别一样;你只需好好走过那么一回,有个印0 码力 | 1009 页 | 11.08 MB | 1 年前3
 2.1 gofmt 的文化演变Griesemer Google, Inc. 4/21/2015 gofmt 的文化演变 http://127.0.0.1:3999/gofmt-cn.slide#1 2/34 gofmt Go源代码格式化工具 定义了“标准“格式 golang.org代码库中所有提交的Go代码都必须通过gofmt格式化过 除了gofmt之外,相同功能可以通过go/format库获得 不需要设置! 4/21/2015 1:3999/gofmt-cn.slide#1 9/34 gofmt的基本结构 源代码的处理 基本的格式化 附加:注释的处理 完善:代码和注释的对齐 但是,没有牛X的通用布局算法 相反的:基于节点的精细优化 4/21/2015 gofmt 的文化演变 http://127.0.0.1:3999/gofmt-cn.slide#1 10/34 处理源代码 使用`go/scanner`, `go/parser`及其相关的库 基本的办法:基于位置信息合并词汇流和注释流. 4/21/2015 gofmt 的文化演变 http://127.0.0.1:3999/gofmt-cn.slide#1 16/34 魔鬼就在细节中 在源代码中估计当前的位置. 比较当前的位置和注释的位置去决定下一个是什么. 词汇也包含了空格词汇 - 注释必须被合理的分布! 维持一个未被打印的空格缓冲区,在下一个词汇之前输出,然后分布注释. 多种策略得以正确地处理空格0 码力 | 34 页 | 9.97 MB | 1 年前3 2.1 gofmt 的文化演变Griesemer Google, Inc. 4/21/2015 gofmt 的文化演变 http://127.0.0.1:3999/gofmt-cn.slide#1 2/34 gofmt Go源代码格式化工具 定义了“标准“格式 golang.org代码库中所有提交的Go代码都必须通过gofmt格式化过 除了gofmt之外,相同功能可以通过go/format库获得 不需要设置! 4/21/2015 1:3999/gofmt-cn.slide#1 9/34 gofmt的基本结构 源代码的处理 基本的格式化 附加:注释的处理 完善:代码和注释的对齐 但是,没有牛X的通用布局算法 相反的:基于节点的精细优化 4/21/2015 gofmt 的文化演变 http://127.0.0.1:3999/gofmt-cn.slide#1 10/34 处理源代码 使用`go/scanner`, `go/parser`及其相关的库 基本的办法:基于位置信息合并词汇流和注释流. 4/21/2015 gofmt 的文化演变 http://127.0.0.1:3999/gofmt-cn.slide#1 16/34 魔鬼就在细节中 在源代码中估计当前的位置. 比较当前的位置和注释的位置去决定下一个是什么. 词汇也包含了空格词汇 - 注释必须被合理的分布! 维持一个未被打印的空格缓冲区,在下一个词汇之前输出,然后分布注释. 多种策略得以正确地处理空格0 码力 | 34 页 | 9.97 MB | 1 年前3
 Python 标准库参考指南 3.10.15 类型和成员 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1664 29.13.2 获取源代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1667 29.13.3 使用 Signature b'同样允许嵌入" 双" 引号'。 • 双引号: b" 仍然允许嵌入 '单' 引号" • 三重引号: b'''三重单引号''', b""" 三重双引号""" bytes 字面值中只允许 ASCII 字符(无论源代码声明的编码格式为何)。任何超出 127 的二进制值必 须使用相应的转义序列形式加入 bytes 字面值。 像字符串字面值一样,bytes 字面值也可以使用 r 前缀来禁用转义序列处理。请参阅 strings 设置较低的限制值 可能导致问题。虽然不常见,但还是会有在其源代码中包含超出最小阈值 的十进制整数常量的代码存在。设置此限制的一个后果将是包含比此限制长的十进制整数字面值的 Python 源代码将在解析期间遇到错误,通常是在启动时或导入时甚至是在安装时——只要对于某个 代码还不存在已更新的 .pyc 就会发生。一种在包含此类大数值常量的源代码中绕过该问题的办法是 将它们转换为不受限制的 0x 十六进制形式。0 码力 | 2072 页 | 10.39 MB | 9 月前3 Python 标准库参考指南 3.10.15 类型和成员 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1664 29.13.2 获取源代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1667 29.13.3 使用 Signature b'同样允许嵌入" 双" 引号'。 • 双引号: b" 仍然允许嵌入 '单' 引号" • 三重引号: b'''三重单引号''', b""" 三重双引号""" bytes 字面值中只允许 ASCII 字符(无论源代码声明的编码格式为何)。任何超出 127 的二进制值必 须使用相应的转义序列形式加入 bytes 字面值。 像字符串字面值一样,bytes 字面值也可以使用 r 前缀来禁用转义序列处理。请参阅 strings 设置较低的限制值 可能导致问题。虽然不常见,但还是会有在其源代码中包含超出最小阈值 的十进制整数常量的代码存在。设置此限制的一个后果将是包含比此限制长的十进制整数字面值的 Python 源代码将在解析期间遇到错误,通常是在启动时或导入时甚至是在安装时——只要对于某个 代码还不存在已更新的 .pyc 就会发生。一种在包含此类大数值常量的源代码中绕过该问题的办法是 将它们转换为不受限制的 0x 十六进制形式。0 码力 | 2072 页 | 10.39 MB | 9 月前3
 Python 标准库参考指南 3.10.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1777 29.13.2 获取源代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1781 29.13.3 b'同样允许嵌入" 双" 引号'。 • 双引号: b" 仍然允许嵌入 '单' 引号" • 三重引号: b'''三重单引号''', b""" 三重双引号""" bytes 字面值中只允许 ASCII 字符(无论源代码声明的编码格式为何)。任何超出 127 的二进制值必须 使用相应的转义序列形式加入 bytes 字面值。 像字符串字面值一样,bytes 字面值也可以使用 r 前缀来禁用转义序列处理。请参阅 strings 设置较低的限制值 可能导致问题。虽然不常见,但还是会有在其源代码中包含超出最小阈值的十 进制整数常量的代码存在。设置此限制的一个后果将是包含比此限制长的十进制整数字面值的 Python 源 代码将在解析期间遇到错误,通常是在启动时或导入时甚至是在安装时——只要对于某个代码还不存在 已更新的 .pyc 就会发生。一种在包含此类大数值常量的源代码中绕过该问题的办法是将它们转换为不 受限制的 0x 十六进制形式。0 码力 | 2207 页 | 10.45 MB | 9 月前3 Python 标准库参考指南 3.10.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1777 29.13.2 获取源代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1781 29.13.3 b'同样允许嵌入" 双" 引号'。 • 双引号: b" 仍然允许嵌入 '单' 引号" • 三重引号: b'''三重单引号''', b""" 三重双引号""" bytes 字面值中只允许 ASCII 字符(无论源代码声明的编码格式为何)。任何超出 127 的二进制值必须 使用相应的转义序列形式加入 bytes 字面值。 像字符串字面值一样,bytes 字面值也可以使用 r 前缀来禁用转义序列处理。请参阅 strings 设置较低的限制值 可能导致问题。虽然不常见,但还是会有在其源代码中包含超出最小阈值的十 进制整数常量的代码存在。设置此限制的一个后果将是包含比此限制长的十进制整数字面值的 Python 源 代码将在解析期间遇到错误,通常是在启动时或导入时甚至是在安装时——只要对于某个代码还不存在 已更新的 .pyc 就会发生。一种在包含此类大数值常量的源代码中绕过该问题的办法是将它们转换为不 受限制的 0x 十六进制形式。0 码力 | 2207 页 | 10.45 MB | 9 月前3
 Python 标准库参考指南 3.8.20 双" 引号'。 • 双引号: b" 同样允许嵌入 '单' 引号"。 • 三重引号: b'''三重单引号''', b""" 三重双引号""" bytes 字面值中只允许 ASCII 字符(无论源代码声明的编码格式为何)。任何超出 127 的二进制值必 须使用相应的转义序列形式加入 bytes 字面值。 像字符串字面值一样,bytes 字面值也可以使用 r 前缀来禁用转义序列处理。请参阅 strings 设置较低的限制值 可能导致问题。虽然不常见,但还是会有在其源代码中包含超出最小阈值 的十进制整数常量的代码存在。设置此限制的一个后果将是包含比此限制长的十进制整数字面值的 Python 源代码将在解析期间遇到错误,通常是在启动时或导入时甚至是在安装时——只要对于某个 代码还不存在已更新的 .pyc 就会发生。一种在包含此类大数值常量的源代码中绕过该问题的办法是 将它们转换为不受限制的 0x 十六进制形式。 发生错误所在文件中的行号。行号索引从 1 开始:文件中首行的 lineno 为 1。 offset 发生错误所在文件中的列号。列号索引从 1 开始:行中首个字符的 offset 为 1。 text 错误所涉及的源代码文本。 exception IndentationError 与不正确的缩进相关的语法错误的基类。这是SyntaxError 的一个子类。 exception TabError 当缩进包含对0 码力 | 1927 页 | 9.69 MB | 9 月前3 Python 标准库参考指南 3.8.20 双" 引号'。 • 双引号: b" 同样允许嵌入 '单' 引号"。 • 三重引号: b'''三重单引号''', b""" 三重双引号""" bytes 字面值中只允许 ASCII 字符(无论源代码声明的编码格式为何)。任何超出 127 的二进制值必 须使用相应的转义序列形式加入 bytes 字面值。 像字符串字面值一样,bytes 字面值也可以使用 r 前缀来禁用转义序列处理。请参阅 strings 设置较低的限制值 可能导致问题。虽然不常见,但还是会有在其源代码中包含超出最小阈值 的十进制整数常量的代码存在。设置此限制的一个后果将是包含比此限制长的十进制整数字面值的 Python 源代码将在解析期间遇到错误,通常是在启动时或导入时甚至是在安装时——只要对于某个 代码还不存在已更新的 .pyc 就会发生。一种在包含此类大数值常量的源代码中绕过该问题的办法是 将它们转换为不受限制的 0x 十六进制形式。 发生错误所在文件中的行号。行号索引从 1 开始:文件中首行的 lineno 为 1。 offset 发生错误所在文件中的列号。列号索引从 1 开始:行中首个字符的 offset 为 1。 text 错误所涉及的源代码文本。 exception IndentationError 与不正确的缩进相关的语法错误的基类。这是SyntaxError 的一个子类。 exception TabError 当缩进包含对0 码力 | 1927 页 | 9.69 MB | 9 月前3
 Python 标准库参考指南 3.8.20 双" 引号'。 • 双引号: b" 同样允许嵌入 '单' 引号"。 • 三重引号: b'''三重单引号''', b""" 三重双引号""" bytes 字面值中只允许 ASCII 字符(无论源代码声明的编码格式为何)。任何超出 127 的二进制值必 须使用相应的转义序列形式加入 bytes 字面值。 像字符串字面值一样,bytes 字面值也可以使用 r 前缀来禁用转义序列处理。请参阅 strings 设置较低的限制值 可能导致问题。虽然不常见,但还是会有在其源代码中包含超出最小阈值 的十进制整数常量的代码存在。设置此限制的一个后果将是包含比此限制长的十进制整数字面值的 Python 源代码将在解析期间遇到错误,通常是在启动时或导入时甚至是在安装时——只要对于某个 代码还不存在已更新的 .pyc 就会发生。一种在包含此类大数值常量的源代码中绕过该问题的办法是 将它们转换为不受限制的 0x 十六进制形式。 发生错误所在文件中的行号。行号索引从 1 开始:文件中首行的 lineno 为 1。 offset 发生错误所在文件中的列号。列号索引从 1 开始:行中首个字符的 offset 为 1。 text 错误所涉及的源代码文本。 exception IndentationError 与不正确的缩进相关的语法错误的基类。这是SyntaxError 的一个子类。 exception TabError 当缩进包含对0 码力 | 1927 页 | 9.69 MB | 9 月前3 Python 标准库参考指南 3.8.20 双" 引号'。 • 双引号: b" 同样允许嵌入 '单' 引号"。 • 三重引号: b'''三重单引号''', b""" 三重双引号""" bytes 字面值中只允许 ASCII 字符(无论源代码声明的编码格式为何)。任何超出 127 的二进制值必 须使用相应的转义序列形式加入 bytes 字面值。 像字符串字面值一样,bytes 字面值也可以使用 r 前缀来禁用转义序列处理。请参阅 strings 设置较低的限制值 可能导致问题。虽然不常见,但还是会有在其源代码中包含超出最小阈值 的十进制整数常量的代码存在。设置此限制的一个后果将是包含比此限制长的十进制整数字面值的 Python 源代码将在解析期间遇到错误,通常是在启动时或导入时甚至是在安装时——只要对于某个 代码还不存在已更新的 .pyc 就会发生。一种在包含此类大数值常量的源代码中绕过该问题的办法是 将它们转换为不受限制的 0x 十六进制形式。 发生错误所在文件中的行号。行号索引从 1 开始:文件中首行的 lineno 为 1。 offset 发生错误所在文件中的列号。列号索引从 1 开始:行中首个字符的 offset 为 1。 text 错误所涉及的源代码文本。 exception IndentationError 与不正确的缩进相关的语法错误的基类。这是SyntaxError 的一个子类。 exception TabError 当缩进包含对0 码力 | 1927 页 | 9.69 MB | 9 月前3
 Python 标准库参考指南 3.8.20 双" 引号'。 • 双引号: b" 同样允许嵌入 '单' 引号"。 • 三重引号: b'''三重单引号''', b""" 三重双引号""" bytes 字面值中只允许 ASCII 字符(无论源代码声明的编码格式为何)。任何超出 127 的二进制值必须 使用相应的转义序列形式加入 bytes 字面值。 像字符串字面值一样,bytes 字面值也可以使用 r 前缀来禁用转义序列处理。请参阅 strings 设置较低的限制值 可能导致问题。虽然不常见,但还是会有在其源代码中包含超出最小阈值的十 进制整数常量的代码存在。设置此限制的一个后果将是包含比此限制长的十进制整数字面值的 Python 源 代码将在解析期间遇到错误,通常是在启动时或导入时甚至是在安装时——只要对于某个代码还不存在 已更新的 .pyc 就会发生。一种在包含此类大数值常量的源代码中绕过该问题的办法是将它们转换为不 受限制的 0x 十六进制形式。 发生错误所在文件中的行号。行号索引从 1 开始:文件中首行的 lineno 为 1。 offset 发生错误所在文件中的列号。列号索引从 1 开始:行中首个字符的 offset 为 1。 text 错误所涉及的源代码文本。 exception IndentationError 与不正确的缩进相关的语法错误的基类。这是SyntaxError 的一个子类。 exception TabError 当缩进包含对0 码力 | 2052 页 | 9.74 MB | 9 月前3 Python 标准库参考指南 3.8.20 双" 引号'。 • 双引号: b" 同样允许嵌入 '单' 引号"。 • 三重引号: b'''三重单引号''', b""" 三重双引号""" bytes 字面值中只允许 ASCII 字符(无论源代码声明的编码格式为何)。任何超出 127 的二进制值必须 使用相应的转义序列形式加入 bytes 字面值。 像字符串字面值一样,bytes 字面值也可以使用 r 前缀来禁用转义序列处理。请参阅 strings 设置较低的限制值 可能导致问题。虽然不常见,但还是会有在其源代码中包含超出最小阈值的十 进制整数常量的代码存在。设置此限制的一个后果将是包含比此限制长的十进制整数字面值的 Python 源 代码将在解析期间遇到错误,通常是在启动时或导入时甚至是在安装时——只要对于某个代码还不存在 已更新的 .pyc 就会发生。一种在包含此类大数值常量的源代码中绕过该问题的办法是将它们转换为不 受限制的 0x 十六进制形式。 发生错误所在文件中的行号。行号索引从 1 开始:文件中首行的 lineno 为 1。 offset 发生错误所在文件中的列号。列号索引从 1 开始:行中首个字符的 offset 为 1。 text 错误所涉及的源代码文本。 exception IndentationError 与不正确的缩进相关的语法错误的基类。这是SyntaxError 的一个子类。 exception TabError 当缩进包含对0 码力 | 2052 页 | 9.74 MB | 9 月前3
 Python 标准库参考指南 3.12 类型和成员 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1814 29.14.2 获取源代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1818 29.14.3 使用 Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1919 32.5 tokenize --- Python 源代码的分词器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1919 32.5.1 对输入进行解析标记 . . . . . Python Library Reference, 发行版本 3.12.7 • 三重引号: b'''三重单引号''', b""" 三重双引号""" bytes 字面值中只允许 ASCII 字符(无论源代码声明的编码格式为何)。任何超出 127 的二进制值必 须使用相应的转义序列形式加入 bytes 字面值。 像字符串字面值一样,bytes 字面值也可以使用 r 前缀来禁用转义序列处理。请参阅 strings0 码力 | 2253 页 | 11.81 MB | 9 月前3 Python 标准库参考指南 3.12 类型和成员 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1814 29.14.2 获取源代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1818 29.14.3 使用 Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1919 32.5 tokenize --- Python 源代码的分词器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1919 32.5.1 对输入进行解析标记 . . . . . Python Library Reference, 发行版本 3.12.7 • 三重引号: b'''三重单引号''', b""" 三重双引号""" bytes 字面值中只允许 ASCII 字符(无论源代码声明的编码格式为何)。任何超出 127 的二进制值必 须使用相应的转义序列形式加入 bytes 字面值。 像字符串字面值一样,bytes 字面值也可以使用 r 前缀来禁用转义序列处理。请参阅 strings0 码力 | 2253 页 | 11.81 MB | 9 月前3
 Python 标准库参考指南 3.12 类型和成员 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1814 29.14.2 获取源代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1818 29.14.3 使用 Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1919 32.5 tokenize --- Python 源代码的分词器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1919 32.5.1 对输入进行解析标记 . . . . . Python Library Reference, 发行版本 3.12.7 • 三重引号: b'''三重单引号''', b""" 三重双引号""" bytes 字面值中只允许 ASCII 字符(无论源代码声明的编码格式为何)。任何超出 127 的二进制值必 须使用相应的转义序列形式加入 bytes 字面值。 像字符串字面值一样,bytes 字面值也可以使用 r 前缀来禁用转义序列处理。请参阅 strings0 码力 | 2253 页 | 11.81 MB | 9 月前3 Python 标准库参考指南 3.12 类型和成员 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1814 29.14.2 获取源代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1818 29.14.3 使用 Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1919 32.5 tokenize --- Python 源代码的分词器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1919 32.5.1 对输入进行解析标记 . . . . . Python Library Reference, 发行版本 3.12.7 • 三重引号: b'''三重单引号''', b""" 三重双引号""" bytes 字面值中只允许 ASCII 字符(无论源代码声明的编码格式为何)。任何超出 127 的二进制值必 须使用相应的转义序列形式加入 bytes 字面值。 像字符串字面值一样,bytes 字面值也可以使用 r 前缀来禁用转义序列处理。请参阅 strings0 码力 | 2253 页 | 11.81 MB | 9 月前3
 Python 标准库参考指南 3.11.10 类型和成员 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1792 29.13.2 获取源代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1796 29.13.3 使用 Signature b'同样允许嵌入" 双" 引号'。 • 双引号: b" 仍然允许嵌入 '单' 引号" • 三重引号: b'''三重单引号''', b""" 三重双引号""" bytes 字面值中只允许 ASCII 字符(无论源代码声明的编码格式为何)。任何超出 127 的二进制值必 须使用相应的转义序列形式加入 bytes 字面值。 像字符串字面值一样,bytes 字面值也可以使用 r 前缀来禁用转义序列处理。请参阅 strings 设置较低的限制值 可能导致问题。虽然不常见,但还是会有在其源代码中包含超出最小阈值 的十进制整数常量的代码存在。设置此限制的一个后果将是包含比此限制长的十进制整数字面值的 Python 源代码将在解析期间遇到错误,通常是在启动时或导入时甚至是在安装时——只要对于某个 代码还不存在已更新的 .pyc 就会发生。一种在包含此类大数值常量的源代码中绕过该问题的办法是 将它们转换为不受限制的 0x 十六进制形式。0 码力 | 2248 页 | 11.10 MB | 9 月前3 Python 标准库参考指南 3.11.10 类型和成员 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1792 29.13.2 获取源代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1796 29.13.3 使用 Signature b'同样允许嵌入" 双" 引号'。 • 双引号: b" 仍然允许嵌入 '单' 引号" • 三重引号: b'''三重单引号''', b""" 三重双引号""" bytes 字面值中只允许 ASCII 字符(无论源代码声明的编码格式为何)。任何超出 127 的二进制值必 须使用相应的转义序列形式加入 bytes 字面值。 像字符串字面值一样,bytes 字面值也可以使用 r 前缀来禁用转义序列处理。请参阅 strings 设置较低的限制值 可能导致问题。虽然不常见,但还是会有在其源代码中包含超出最小阈值 的十进制整数常量的代码存在。设置此限制的一个后果将是包含比此限制长的十进制整数字面值的 Python 源代码将在解析期间遇到错误,通常是在启动时或导入时甚至是在安装时——只要对于某个 代码还不存在已更新的 .pyc 就会发生。一种在包含此类大数值常量的源代码中绕过该问题的办法是 将它们转换为不受限制的 0x 十六进制形式。0 码力 | 2248 页 | 11.10 MB | 9 月前3
共 180 条
- 1
- 2
- 3
- 4
- 5
- 6
- 18














 
  
 