重命名类
(类来自 pyomo.common.deprecation)
- class pyomo.common.deprecation.RenamedClass(name, bases, classdict, *args, **kwargs)[source]
基础类:
type元类为重命名的类提供弃用路径
这个元类提供了一种机制,用于重命名旧类,同时仍然保留isinstance / issubclass关系。
示例
>>> from pyomo.common.deprecation import RenamedClass >>> class NewClass(object): ... pass >>> class OldClass(metaclass=RenamedClass): ... __renamed__new_class__ = NewClass ... __renamed__version__ = '6.0'
从旧类派生会产生警告:
>>> class DerivedOldClass(OldClass): ... pass WARNING: DEPRECATED: Declaring class 'DerivedOldClass' derived from 'OldClass'. The class 'OldClass' has been renamed to 'NewClass'. (deprecated in 6.0) ...
就像实例化旧类一样:
>>> old = OldClass() WARNING: DEPRECATED: Instantiating class 'OldClass'. The class 'OldClass' has been renamed to 'NewClass'. (deprecated in 6.0) ...
最后,isinstance 和 issubclass 仍然有效,例如:
>>> isinstance(old, NewClass) True >>> class NewSubclass(NewClass): ... pass >>> new = NewSubclass() >>> isinstance(new, OldClass) WARNING: DEPRECATED: Checking type relative to 'OldClass'. The class 'OldClass' has been renamed to 'NewClass'. (deprecated in 6.0) ... True
- __init__(*args, **kwargs)
方法
__init__(*args, **kwargs)mro()返回一个类型的方法解析顺序。
成员文档
- mro()
返回一个类型的方法解析顺序。