config.basic.object =================== .. py:module:: config.basic.object .. autoapi-nested-parse:: 对象类型配置数据实现 .. versionadded:: 0.2.0 Classes ------- .. autoapisummary:: config.basic.object.NoneConfigData config.basic.object.ObjectConfigData Module Contents --------------- .. py:class:: NoneConfigData(data: None = None) Bases: :py:obj:`config.basic.core.BasicSingleConfigData`\ [\ :py:obj:`None`\ ] 空的配置数据 .. versionadded:: 0.2.0 :param data: 配置的原始数据 :type data: None .. py:method:: __bool__() -> bool .. py:method:: __deepcopy__(memo: dict[str, Any]) -> Self .. py:method:: __eq__(other: Any) -> bool .. py:method:: __format__(format_spec: str) -> str .. py:method:: __repr__() -> str .. py:method:: __str__() -> str .. py:method:: freeze(freeze: bool | None = None) -> Self 冻结配置数据 (切换只读模式) :param freeze: 是否冻结配置数据, 为 :py:const:`None` 时进行切换 :type freeze: bool | None :return: 返回当前实例便于链式调用 :rtype: Self .. versionadded:: 0.1.5 .. py:method:: from_data(*args: Any, **kwargs: Any) -> Self :classmethod: 提供创建同类型配置数据的快捷方式 :return: 新的配置数据 :rtype: Self .. note:: 套壳 ``__init__`` 主要是为了方便内部快速创建与传入的ABCConfigData同类型的对象 例如: .. code-block:: python type(instance)(data) 可以简写为 .. code-block:: python instance.from_data(data) .. versionchanged:: 0.2.0 现在会自适应初始化参数 .. py:attribute:: __hash__ :value: None .. py:attribute:: __slots__ :value: () .. py:attribute:: _data :type: D .. py:attribute:: _read_only :type: bool | None :value: False .. py:property:: data :type: D 配置的原始数据*快照* .. py:property:: data_read_only :type: bool | None 配置数据是否为只读 :return: 配置数据是否为只读 :rtype: bool | None .. versionadded:: 0.1.3 .. versionchanged:: 0.1.5 改为抽象属性 .. py:property:: read_only :type: bool | None 配置数据是否为 ``只读模式`` :return: 配置数据是否为 ``只读模式`` :rtype: bool | None .. py:class:: ObjectConfigData(data: D) Bases: :py:obj:`config.basic.core.BasicSingleConfigData`\ [\ :py:obj:`ObjectConfigData.D`\ ] 对象配置数据 :param data: 配置的原始数据 :type data: D .. caution:: 未默认做深拷贝,可能导致非预期行为 .. py:method:: __bool__() -> bool .. py:method:: __deepcopy__(memo: dict[str, Any]) -> Self .. py:method:: __eq__(other: Any) -> bool .. py:method:: __format__(format_spec: str) -> str .. py:method:: __repr__() -> str .. py:method:: __str__() -> str .. py:method:: freeze(freeze: bool | None = None) -> Self 冻结配置数据 (切换只读模式) :param freeze: 是否冻结配置数据, 为 :py:const:`None` 时进行切换 :type freeze: bool | None :return: 返回当前实例便于链式调用 :rtype: Self .. versionadded:: 0.1.5 .. py:method:: from_data(*args: Any, **kwargs: Any) -> Self :classmethod: 提供创建同类型配置数据的快捷方式 :return: 新的配置数据 :rtype: Self .. note:: 套壳 ``__init__`` 主要是为了方便内部快速创建与传入的ABCConfigData同类型的对象 例如: .. code-block:: python type(instance)(data) 可以简写为 .. code-block:: python instance.from_data(data) .. versionchanged:: 0.2.0 现在会自适应初始化参数 .. py:attribute:: __hash__ :value: None .. py:attribute:: __slots__ :value: () .. py:attribute:: _data :type: ObjectConfigData.D .. py:attribute:: _read_only :type: bool | None :value: False .. py:property:: data :type: D 配置的原始数据 .. caution:: 未默认做深拷贝,可能导致非预期的行为 .. versionchanged:: 0.3.0 现在是可写属性 .. py:property:: data_read_only :type: Literal[False] 配置数据是否为只读 :return: 配置数据是否为只读 :rtype: Literal[False] .. note:: 该配置数据类始终认为配置数据非只读,使其能正确作为配置数据容器使用 .. py:property:: read_only :type: bool | None 配置数据是否为 ``只读模式`` :return: 配置数据是否为 ``只读模式`` :rtype: bool | None