 Django 官方教程翻译项目正如上面的Python注释指出的,你应该在成功处理 POST 数据后总是返回一个 HttpResponseRedirect。 这不是 Django 的特定技巧;这是那些优秀网站在开发实践中形 成的共识。 在这个例子中,我们在 HttpResponseRedirect 的构造函数中使用 reverse() 函数。这个 函数避免了我们在视图函数中硬编码 URL。它需要我们给出我们想要跳转的视图的名字和该视图 应用。除了使用这个变量,你还可以使用你认为合适 的任何方法,把特定对象的管理页面地址硬编在模板里。 本新手教程到这里就结束了。与此同时,你可能还想得到一些指导,可以看下一步。 如果你熟悉 Python 的打包机制,并且对如何将投票应用转化为一个 “可重用的应用” 感兴趣,请 看 高级教程:如何编写可重用的应用。 自定义管理页面索引页 下一步? 创建你的第一个 Django 项目, 第七部分 - 800 码力 | 103 页 | 1.86 MB | 1 年前3 Django 官方教程翻译项目正如上面的Python注释指出的,你应该在成功处理 POST 数据后总是返回一个 HttpResponseRedirect。 这不是 Django 的特定技巧;这是那些优秀网站在开发实践中形 成的共识。 在这个例子中,我们在 HttpResponseRedirect 的构造函数中使用 reverse() 函数。这个 函数避免了我们在视图函数中硬编码 URL。它需要我们给出我们想要跳转的视图的名字和该视图 应用。除了使用这个变量,你还可以使用你认为合适 的任何方法,把特定对象的管理页面地址硬编在模板里。 本新手教程到这里就结束了。与此同时,你可能还想得到一些指导,可以看下一步。 如果你熟悉 Python 的打包机制,并且对如何将投票应用转化为一个 “可重用的应用” 感兴趣,请 看 高级教程:如何编写可重用的应用。 自定义管理页面索引页 下一步? 创建你的第一个 Django 项目, 第七部分 - 800 码力 | 103 页 | 1.86 MB | 1 年前3
 Python 标准库参考指南 3.7.13 结果列表并不总是完整的,如果对象有自定义 __getattr__(),那结果可能不准确。 8 Chapter 2. 内置函数 The Python Library Reference, 发布 3.7.13 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。 )组成 的元组。关联值通常会作为参数被传递给异常类的构造器。 用户代码可以引发内置异常。这可被用于测试异常处理程序或报告错误条件,“就像”在解释器引发了相同 异常的情况时一样;但是请注意,没有任何机制能防止用户代码引发不适当的错误。 内 置 异 常 类 可 以 被 子 类 化 以 定 义 新 的 异 常; 鼓 励 程 序 员 从Exception 类 或 它 的 某 个 子 类 而 不 是 从BaseException0 码力 | 1961 页 | 9.14 MB | 9 月前3 Python 标准库参考指南 3.7.13 结果列表并不总是完整的,如果对象有自定义 __getattr__(),那结果可能不准确。 8 Chapter 2. 内置函数 The Python Library Reference, 发布 3.7.13 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。 )组成 的元组。关联值通常会作为参数被传递给异常类的构造器。 用户代码可以引发内置异常。这可被用于测试异常处理程序或报告错误条件,“就像”在解释器引发了相同 异常的情况时一样;但是请注意,没有任何机制能防止用户代码引发不适当的错误。 内 置 异 常 类 可 以 被 子 类 化 以 定 义 新 的 异 常; 鼓 励 程 序 员 从Exception 类 或 它 的 某 个 子 类 而 不 是 从BaseException0 码力 | 1961 页 | 9.14 MB | 9 月前3
 Python 标准库参考指南 3.7.13 __dir__(),这个函数会尝试从对象已定义的__dict__ 属性和类型对象收集信 息。结果列表并不总是完整的,如果对象有自定义 __getattr__(),那结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。 串)组成的元组。关联值通常会作为参数被传递给异常类的构造器。 用户代码可以引发内置异常。这可被用于测试异常处理程序或报告错误条件,“就像”在解释器引发了相 同异常的情况时一样;但是请注意,没有任何机制能防止用户代码引发不适当的错误。 内置异常类可以被子类化以定义新的异常;鼓励程序员从Exception 类或它的某个子类而不是 从BaseException 来派生新的异常。关于定义异常的更多信息可以在0 码力 | 1846 页 | 9.09 MB | 9 月前3 Python 标准库参考指南 3.7.13 __dir__(),这个函数会尝试从对象已定义的__dict__ 属性和类型对象收集信 息。结果列表并不总是完整的,如果对象有自定义 __getattr__(),那结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。 串)组成的元组。关联值通常会作为参数被传递给异常类的构造器。 用户代码可以引发内置异常。这可被用于测试异常处理程序或报告错误条件,“就像”在解释器引发了相 同异常的情况时一样;但是请注意,没有任何机制能防止用户代码引发不适当的错误。 内置异常类可以被子类化以定义新的异常;鼓励程序员从Exception 类或它的某个子类而不是 从BaseException 来派生新的异常。关于定义异常的更多信息可以在0 码力 | 1846 页 | 9.09 MB | 9 月前3
 Python 标准库参考指南 3.8.20 __dir__(),这个函数会尝试从对象已定义的__dict__ 属性和类型对象收集信息。 结果列表并不总是完整的,如果对象有自定义 __getattr__(),那结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 对象: >>> class X: ... a = 1 ... >>> X = type('X', (), dict(a=1)) 另请参阅类型对象。 提供给三参数形式的关键字参数会被传递给适当的元类机制 (通常为 __init_subclass__()),相当 于类定义中关键字 (除了 metaclass) 的行为方式。 另请参阅 class-customization。 在 3.6 版更改: 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。0 码力 | 2052 页 | 9.74 MB | 9 月前3 Python 标准库参考指南 3.8.20 __dir__(),这个函数会尝试从对象已定义的__dict__ 属性和类型对象收集信息。 结果列表并不总是完整的,如果对象有自定义 __getattr__(),那结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 对象: >>> class X: ... a = 1 ... >>> X = type('X', (), dict(a=1)) 另请参阅类型对象。 提供给三参数形式的关键字参数会被传递给适当的元类机制 (通常为 __init_subclass__()),相当 于类定义中关键字 (除了 metaclass) 的行为方式。 另请参阅 class-customization。 在 3.6 版更改: 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。0 码力 | 2052 页 | 9.74 MB | 9 月前3
 Python 标准库参考指南 3.8.20 __dir__(),这个函数会尝试从对象已定义的__dict__ 属性和类型对象收集信 息。结果列表并不总是完整的,如果对象有自定义 __getattr__(),那结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 对象: >>> class X: ... a = 1 ... >>> X = type('X', (), dict(a=1)) 另请参阅类型对象。 提供给三参数形式的关键字参数会被传递给适当的元类机制 (通常为 __init_subclass__()), 相当于类定义中关键字 (除了 metaclass) 的行为方式。 另请参阅 class-customization。 在 3.6 版更改: 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。0 码力 | 1927 页 | 9.69 MB | 9 月前3 Python 标准库参考指南 3.8.20 __dir__(),这个函数会尝试从对象已定义的__dict__ 属性和类型对象收集信 息。结果列表并不总是完整的,如果对象有自定义 __getattr__(),那结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 对象: >>> class X: ... a = 1 ... >>> X = type('X', (), dict(a=1)) 另请参阅类型对象。 提供给三参数形式的关键字参数会被传递给适当的元类机制 (通常为 __init_subclass__()), 相当于类定义中关键字 (除了 metaclass) 的行为方式。 另请参阅 class-customization。 在 3.6 版更改: 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。0 码力 | 1927 页 | 9.69 MB | 9 月前3
 Python 标准库参考指南 3.8.20 __dir__(),这个函数会尝试从对象已定义的__dict__ 属性和类型对象收集信 息。结果列表并不总是完整的,如果对象有自定义 __getattr__(),那结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 对象: >>> class X: ... a = 1 ... >>> X = type('X', (), dict(a=1)) 另请参阅类型对象。 提供给三参数形式的关键字参数会被传递给适当的元类机制 (通常为 __init_subclass__()), 相当于类定义中关键字 (除了 metaclass) 的行为方式。 另请参阅 class-customization。 在 3.6 版更改: 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。0 码力 | 1927 页 | 9.69 MB | 9 月前3 Python 标准库参考指南 3.8.20 __dir__(),这个函数会尝试从对象已定义的__dict__ 属性和类型对象收集信 息。结果列表并不总是完整的,如果对象有自定义 __getattr__(),那结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 对象: >>> class X: ... a = 1 ... >>> X = type('X', (), dict(a=1)) 另请参阅类型对象。 提供给三参数形式的关键字参数会被传递给适当的元类机制 (通常为 __init_subclass__()), 相当于类定义中关键字 (除了 metaclass) 的行为方式。 另请参阅 class-customization。 在 3.6 版更改: 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。0 码力 | 1927 页 | 9.69 MB | 9 月前3
 Python 标准库参考指南 3.10.15 __dir__() 方法,该函数会尽量从对象的__dict__ 属性和其类型对象中收集信息。 得到的列表不一定是完整,如果对象带有自定义 __getattr__() 方法时,结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 对象: >>> class X: ... a = 1 ... >>> X = type('X', (), dict(a=1)) 另请参阅类型对象。 提供给三参数形式的关键字参数会被传递给适当的元类机制 (通常为 __init_subclass__()),相当 于类定义中关键字 (除了 metaclass) 的行为方式。 另请参阅 class-customization。 在 3.6 版更改: 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 40 Chapter 4. 内置类型 The Python Library Reference, 发布 3.10.15 • 对于其它类型,请查看相应的文档0 码力 | 2207 页 | 10.45 MB | 9 月前3 Python 标准库参考指南 3.10.15 __dir__() 方法,该函数会尽量从对象的__dict__ 属性和其类型对象中收集信息。 得到的列表不一定是完整,如果对象带有自定义 __getattr__() 方法时,结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 对象: >>> class X: ... a = 1 ... >>> X = type('X', (), dict(a=1)) 另请参阅类型对象。 提供给三参数形式的关键字参数会被传递给适当的元类机制 (通常为 __init_subclass__()),相当 于类定义中关键字 (除了 metaclass) 的行为方式。 另请参阅 class-customization。 在 3.6 版更改: 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 40 Chapter 4. 内置类型 The Python Library Reference, 发布 3.10.15 • 对于其它类型,请查看相应的文档0 码力 | 2207 页 | 10.45 MB | 9 月前3
 Python 标准库参考指南 3.10.15 __dir__() 方法,该函数会尽量从对象的__dict__ 属性和其类型对象中收集信 息。得到的列表不一定是完整,如果对象带有自定义 __getattr__() 方法时,结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 对象: >>> class X: ... a = 1 ... >>> X = type('X', (), dict(a=1)) 另请参阅类型对象。 提供给三参数形式的关键字参数会被传递给适当的元类机制 (通常为 __init_subclass__()), 相当于类定义中关键字 (除了 metaclass) 的行为方式。 另请参阅 class-customization。 在 3.6 版更改: 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。0 码力 | 2072 页 | 10.39 MB | 9 月前3 Python 标准库参考指南 3.10.15 __dir__() 方法,该函数会尽量从对象的__dict__ 属性和其类型对象中收集信 息。得到的列表不一定是完整,如果对象带有自定义 __getattr__() 方法时,结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 对象: >>> class X: ... a = 1 ... >>> X = type('X', (), dict(a=1)) 另请参阅类型对象。 提供给三参数形式的关键字参数会被传递给适当的元类机制 (通常为 __init_subclass__()), 相当于类定义中关键字 (除了 metaclass) 的行为方式。 另请参阅 class-customization。 在 3.6 版更改: 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。0 码力 | 2072 页 | 10.39 MB | 9 月前3
 Python 标准库参考指南 3.9.20 __dir__(),这个函数会尝试从对象已定义的__dict__ 属性和类型对象收集信息。 结果列表并不总是完整的,如果对象有自定义 __getattr__(),那结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 对象: >>> class X: ... a = 1 ... >>> X = type('X', (), dict(a=1)) 另请参阅类型对象。 提供给三参数形式的关键字参数会被传递给适当的元类机制 (通常为 __init_subclass__()),相当 于类定义中关键字 (除了 metaclass) 的行为方式。 另请参阅 class-customization。 23 The Python 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。0 码力 | 2146 页 | 10.17 MB | 9 月前3 Python 标准库参考指南 3.9.20 __dir__(),这个函数会尝试从对象已定义的__dict__ 属性和类型对象收集信息。 结果列表并不总是完整的,如果对象有自定义 __getattr__(),那结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 对象: >>> class X: ... a = 1 ... >>> X = type('X', (), dict(a=1)) 另请参阅类型对象。 提供给三参数形式的关键字参数会被传递给适当的元类机制 (通常为 __init_subclass__()),相当 于类定义中关键字 (除了 metaclass) 的行为方式。 另请参阅 class-customization。 23 The Python 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。0 码力 | 2146 页 | 10.17 MB | 9 月前3
 Python 标准库参考指南 3.6.15 __dir__(),这个函数会尝试从对象已定义的__dict__ 属性和类型对象收集信息。 结果列表并不总是完整的,如果对象有自定义 __getattr__(),那结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。 )组成 的元组。关联值通常会作为参数被传递给异常类的构造器。 用户代码可以引发内置异常。这可被用于测试异常处理程序或报告错误条件,“就像”在解释器引发了相同 异常的情况时一样;但是请注意,没有任何机制能防止用户代码引发不适当的错误。 内 置 异 常 类 可 以 被 子 类 化 以 定 义 新 的 异 常; 鼓 励 程 序 员 从Exception 类 或 它 的 某 个 子 类 而 不 是 从BaseException0 码力 | 1886 页 | 8.95 MB | 9 月前3 Python 标准库参考指南 3.6.15 __dir__(),这个函数会尝试从对象已定义的__dict__ 属性和类型对象收集信息。 结果列表并不总是完整的,如果对象有自定义 __getattr__(),那结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。 )组成 的元组。关联值通常会作为参数被传递给异常类的构造器。 用户代码可以引发内置异常。这可被用于测试异常处理程序或报告错误条件,“就像”在解释器引发了相同 异常的情况时一样;但是请注意,没有任何机制能防止用户代码引发不适当的错误。 内 置 异 常 类 可 以 被 子 类 化 以 定 义 新 的 异 常; 鼓 励 程 序 员 从Exception 类 或 它 的 某 个 子 类 而 不 是 从BaseException0 码力 | 1886 页 | 8.95 MB | 9 月前3
共 51 条
- 1
- 2
- 3
- 4
- 5
- 6














