转换为#

convert_to(obj, to_type: str | list[str], as_scitype: str | list[str] | None = None, store=None, store_behaviour: str | None = None, return_to_mtype: bool = False)[源代码][源代码]#

将对象转换为不同机器表示形式,受限于科学类型。

参数:
对象要转换的对象 - 任何类型,应符合 mtype 规范以适应 as_scitype
to_typestr - 将 “obj” 转换为的 mtype,一个有效的 mtype 字符串

或字符串列表,这指定了转换为的可接受类型;如果是列表,将转换为与 obj 相同 scitype 的第一个有效 mtype 字符串,解释在 datatypes.MTYPE_REGISTER 中。

as_scitypestr, 可选 - 对象“obj”被视为的scitype的名称

预先指定 scitype 可以减少类型推断中执行的检查次数。有效的 scitype 字符串及其解释在 datatypes.SCITYPE_REGISTER 中。默认 = 从 obj 的 mtype 推断,而 mtype 又是内部推断的。

存储有损转换的存储引用,默认=None(不存储)

如果非空且 store_behaviour 为“reset”或“update”,则会通过副作用进行更新

store_behaviourstr, 可选, 可以是 None (默认), “reset”, “freeze”, “update” 之一

“reset” - 存储被清空,然后从转换中更新 “freeze” - 存储是只读的,可以被转换读取/使用,但不能更改 “update” - 存储从转换中更新并保留之前的内容 None - 自动:如果存储为空且不为None,则”update”;否则为”freeze”

return_to_mtype: bool, 可选 (默认=False)

如果为真,还会返回转换为字符串的 mtype。

返回:
converted_objto_type - 对象 obj,或按照以下方式转换为目标 mtype 的 obj:
如果 obj 的 mtype 等于 to_type,或者 to_type 是列表中的一个元素

没有发生转换,converted_obj = obj

case 2: to_type 是一个字符串,并且不等于 obj 的 mtype

converted_obj 是将 obj 转换为 to_type 后的结果

情况 3: to_type 是字符串列表,而 obj 的 mtype 不在此列表中
converted_obj 被转换为 to_type 中的第一个 mtype

与 obj 具有相同 scitype 的对象

案例 4: 如果 obj 是 None,则 converted_obj 也是 None

to_type : str, 仅在 return_to_mtype=True 时返回str,仅在以下情况下返回

converted_obj 的类型 - 如果 to_type 是列表,这很有用

引发:
如果输入“obj”的机器类型未被识别,则抛出 TypeError
如果 to_type 不包含与 obj 的 mtype 兼容的 mtype,则引发 TypeError
如果未实现将要进行的转换,则会引发 KeyError
如果输入不符合规范,则抛出 TypeError 或 ValueError