6.从 0 到 1 搭建十亿级包裹 API Versioning
的稳定性要求避免破坏性的更改。在进行更新或修改时,应 保持对现有功能的支持,以防止影响已部署的应用程序或客户端。 1.3 API 变更面临的挑战 挑战二、新功能缺少调试环境 What Part 2/4 1. 本质 2. 实现效果 2.1 本质 我们以为的 API Versioning v1, v2, v3 就是版本化.. 2.1 本质 向后兼容 - API 的稳定性要求避免破坏性的更改。在进行更新或修改时,应保0 码力 | 28 页 | 2.26 MB | 1 年前3Kotlin 1.9.10 官方文档 中文版
expectedBy 依赖项链接。 现在,公共代码与平台相关代码放在相同模 块的不同源根(source root)中,使项目更易于配置。 对于不同的已支持平台,现在有大量的预设的平台配置。 更改了依赖配置); 现在为每个源根分别指定依赖项。 源代码集(source set)现在可以在任意平台子集之间共享 (例如,在一 个目标平台为 JS、Android 与 iOS 的模块中,可以有一个只在 main() { bar(null) bar("42") } 自定义契约 可以为自己的函数声明契约,不过这个特性是实验性的,因为目前的语法尚处 于早期原型状态,并且很可能还会更改。另外还要注意,目前 Kotlin 编译器并 不会验证契约,因此程序员有责任编写正确合理的契约。 通过调用标准库(stdlib)函数 contract 来引入自定义契约,该函数提供了 DSL Any) -> Any) { block(Any(), Any(), ……, Any()) } 渐进模式 Kotlin 非常注重代码的稳定性与向后兼容性:Kotlin 兼容性策略提到破坏性变 更 (例如,会使以前编译正常的代码现在不能通过编译的变更)只能在主版 本(1.2、1.3 等)中引入。 我们相信很多用户可以使用更快的周期,其中关键的编译器修复会即时生效, 从而使代码更安全、更正确。因此0 码力 | 3753 页 | 29.69 MB | 1 年前3Kotlin 官方文档中文版 v1.9
expectedBy 依赖项链接。 现在,公共代码与平台相关代码放在相同模块的不同源根(source root) 中,使项目更易于配置。 对于不同的已支持平台,现在有大量的预设的平台配置。 更改了依赖配置); 现在为每个源根分别指定依赖项。 源代码集(source set)现在可以在任意平台子集之间共享 (例如,在一个目标平台为 JS、Android 与 iOS 的模块中,可以有一个只在 main() { bar(null) bar("42") } 自定义契约 可以为自己的函数声明契约,不过这个特性是实验性的,因为目前的语法尚处于早期原型状 态,并且很可能还会更改。另外还要注意,目前 Kotlin 编译器并不会验证契约,因此程序员 有责任编写正确合理的契约。 通过调用标准库(stdlib)函数 contract 来引入自定义契约,该函数提供了 DSL Any) -> Any) { block(Any(), Any(), ……, Any()) } 渐进模式 Kotlin 非常注重代码的稳定性与向后兼容性:Kotlin 兼容性策略提到破坏性变更 (例如,会使 以前编译正常的代码现在不能通过编译的变更)只能在主版本(1.2、1.3 等)中引入。 我们相信很多用户可以使用更快的周期,其中关键的编译器修复会即时生效, 从而使代码更 安全、更正确。因此0 码力 | 2049 页 | 45.06 MB | 1 年前3Python 标准库参考指南 3.7.13
True。bool 类是int 的子类(参见数字类型 --- int, float, complex )。其他 类不能继承自它。它只有 False 和 True 两个实例(参见布尔值 )。 在 3.7 版更改: x 现在只能作为位置参数。 breakpoint(*args, **kws) 此函数会在调用时将你陷入调试器中。具体来说,它调用sys.breakpointhook() ,直接传递 args 在将足够大或者足够复杂的字符串编译成 AST 对象时,Python 解释器有可以因为 Python AST 编译器的栈深度限制而崩溃。 在 3.2 版更改: 允许使用 Windows 和 Mac 的换行符。在 'exec' 模式不再需要以换行符结尾。增加了 optimize 形参。 在 3.5 版更改: 之前 source 中包含 null 字节的话会触发TypeError 异常。 class complex([real[ complex('1+2j') 是合法 的,但 complex('1 + 2j') 会触发ValueError 异常。 数字类型 --- int, float, complex 描述了复数类型。 在 3.6 版更改: 您可以使用下划线将代码文字中的数字进行分组。 delattr(object, name) setattr() 相关的函数。实参是一个对象和一个字符串。该字符串必须是对象的某个属性。如果对象 允许,该函数将删除指定的属性。例如0 码力 | 1961 页 | 9.14 MB | 9 月前3Python 标准库参考指南 3.8.20
True。bool 类是int 的子类(参见数字类型 --- int, float, complex )。其他 类不能继承自它。它只有 False 和 True 两个实例(参见布尔值 )。 在 3.7 版更改: x 现在只能作为位置参数。 breakpoint(*args, **kws) 此函数会在调用时将你陷入调试器中。具体来说,它调用sys.breakpointhook() ,直接传递 args 在将足够大或者足够复杂的字符串编译成 AST 对象时,Python 解释器有可能因为 Python AST 编译器的栈深度限制而崩溃。 在 3.2 版更改: 允许使用 Windows 和 Mac 的换行符。在 'exec' 模式不再需要以换行符结尾。增加了 optimize 形参。 在 3.5 版更改: 之前 source 中包含 null 字节的话会触发TypeError 异常。 3.8 新版功能: ast.PyCF_ complex('1 + 2j') 会触发ValueError 异常。 数字类型 --- int, float, complex 描述了复数类型。 在 3.6 版更改: 您可以使用下划线将代码文字中的数字进行分组。 在 3.8 版更改: 如果 __complex__() 和 __float__() 未定义则回退至 __index__()。 8 Chapter 2. 内置函数 The Python0 码力 | 2052 页 | 9.74 MB | 9 月前3Python 标准库参考指南 3.10.15
True。bool 类是int 的子类(见数字类型 --- int, float, complex )。它不能再被继承。 它唯一的实例就是 False 和 True (参阅布尔值 )。 在 3.7 版更改: x 现在只能作为位置参数。 breakpoint(*args, **kws) 此函数会在调用点进入调试器。具体来说,它调用sys.breakpointhook() ,直接传递 args 和 kws 类方法的更多信息,请参阅 types。 8 Chapter 2. 内置函数 The Python Library Reference, 发布 3.10.15 在 3.9 版更改: 类方法现在可以包装其他描述器 例如property()。 在 3.10 版更改: 类方法现在继承了方法的属性(__module__、__name__、__qualname__、__doc__ 和 __annotations__),并拥有一个新的 在将足够大或者足够复杂的字符串编译成 AST 对象时,Python 解释器有可能因为 Python AST 编译器的栈深度限制而崩溃。 在 3.2 版更改: Windows 和 Mac 的换行符均可使用。而且在 'exec' 模式下的输入不必再以换行符结尾 了。另增加了 optimize 参数。 在 3.5 版更改: 之前 source 中包含 null 字节的话会触发TypeError 异常。 3.8 新版功能: ast.P0 码力 | 2207 页 | 10.45 MB | 9 月前3Python 标准库参考指南 3.9.20
True。bool 类是int 的子类(参见数字类型 --- int, float, complex )。其他 类不能继承自它。它只有 False 和 True 两个实例(参见布尔值 )。 在 3.7 版更改: x 现在只能作为位置参数。 breakpoint(*args, **kws) 此函数会在调用时将你陷入调试器中。具体来说,它调用sys.breakpointhook() ,直接传递 args 的第一个参 数被传入。 类方法与 C++ 或 Java 中的静态方法不同。如果你需要后者,请参阅本节中的staticmethod()。有关 类方法的更多信息,请参阅 types。 在 3.9 版更改: 类方法现在可以包装其他描述器 例如property()。 compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1) 在将足够大或者足够复杂的字符串编译成 AST 对象时,Python 解释器有可能因为 Python AST 编译器的栈深度限制而崩溃。 在 3.2 版更改: 允许使用 Windows 和 Mac 的换行符。在 'exec' 模式不再需要以换行符结尾。增加了 optimize 形参。 在 3.5 版更改: 之前 source 中包含 null 字节的话会触发TypeError 异常。 3.8 新版功能: ast.PyCF_0 码力 | 2146 页 | 10.17 MB | 9 月前3Python 标准库参考指南 3.6.15
在将足够大或者足够复杂的字符串编译成 AST 对象时,Python 解释器有可以因为 Python AST 编译器的栈深度限制而崩溃。 在 3.2 版更改: 允许使用 Windows 和 Mac 的换行符。在 'exec' 模式不再需要以换行符结尾。增加了 optimize 形参。 在 3.5 版更改: 之前 source 中包含 null 字节的话会触发TypeError 异常。 class complex([real[ complex('1+2j') 是合法 的,但 complex('1 + 2j') 会触发ValueError 异常。 数字类型—int, float, complex 描述了复数类型。 在 3.6 版更改: 您可以使用下划线将代码文字中的数字进行分组。 delattr(object, name) setattr() 相关的函数。实参是一个对象和一个字符串。该字符串必须是对象的某个属性。如果对象 允许,该函数将删除指定的属性。例如 >>> float('+1E6') 1000000.0 >>> float('-Infinity') -inf 数字类型—int, float, complex 描述了浮点类型。 在 3.6 版更改: 您可以使用下划线将代码文字中的数字进行分组。 format(value[, format_spec]) 将 value 转换为 format_spec 控制的“格式化”表示。format_spec0 码力 | 1886 页 | 8.95 MB | 9 月前3Python 标准库参考指南 3.6.15
在将足够大或者足够复杂的字符串编译成 AST 对象时,Python 解释器有可以因为 Python AST 编译器的栈深度限制而崩溃。 在 3.2 版更改: 允许使用 Windows 和 Mac 的换行符。在 'exec' 模式不再需要以换行符结尾。增加了 optimize 形参。 在 3.5 版更改: 之前 source 中包含 null 字节的话会触发TypeError 异常。 class complex([real[ complex('1+2j') 是合法 的,但 complex('1 + 2j') 会触发ValueError 异常。 数字类型—int, float, complex 描述了复数类型。 在 3.6 版更改: 您可以使用下划线将代码文字中的数字进行分组。 delattr(object, name) setattr() 相关的函数。实参是一个对象和一个字符串。该字符串必须是对象的某个属性。如果对象 允许,该函数将删除指定的属性。例如 >>> float('+1E6') 1000000.0 >>> float('-Infinity') -inf 数字类型—int, float, complex 描述了浮点类型。 在 3.6 版更改: 您可以使用下划线将代码文字中的数字进行分组。 format(value[, format_spec]) 将 value 转换为 format_spec 控制的“格式化”表示。format_spec0 码力 | 1886 页 | 8.95 MB | 9 月前3Python 标准库参考指南 3.7.13
True。bool 类是int 的子类(参见数字类型 --- int, float, complex )。其他类不能继承自它。它只有 False 和 True 两个实例(参见布尔值 )。 在 3.7 版更改: x 现在只能作为位置参数。 breakpoint(*args, **kws) 此函数会在调用时将你陷入调试器中。具体来说,它调用sys.breakpointhook() ,直接传递 args 在将足够大或者足够复杂的字符串编译成 AST 对象时,Python 解释器有可以因为 Python AST 编译器的栈深度限制而崩溃。 在 3.2 版更改: 允许使用 Windows 和 Mac 的换行符。在 'exec' 模式不再需要以换行符结尾。增加 了 optimize 形参。 在 3.5 版更改: 之前 source 中包含 null 字节的话会触发TypeError 异常。 class complex([real[ complex('1+2j') 是 合法的,但 complex('1 + 2j') 会触发ValueError 异常。 数字类型 --- int, float, complex 描述了复数类型。 在 3.6 版更改: 您可以使用下划线将代码文字中的数字进行分组。 delattr(object, name) setattr() 相关的函数。实参是一个对象和一个字符串。该字符串必须是对象的某个属性。如果 对象允许,该函数将删除指定的属性。例如0 码力 | 1846 页 | 9.09 MB | 9 月前3
共 256 条
- 1
- 2
- 3
- 4
- 5
- 6
- 26