reflection

反射模块。

在版本 1.1 中添加。

oslo_utils.reflection.accepts_kwargs(function)

如果函数接受关键字参数则返回 True,否则返回 False

oslo_utils.reflection.get_all_class_names(obj, up_to=<class 'object'>, fully_qualified=True, truncate_builtins=True)

获取对象父类名称。

按方法解析顺序 (mro) 迭代对象是实例或子类的所有类名称。如果提供了 up_to 参数,则仅返回是该类的子类的类名称。

oslo_utils.reflection.get_callable_args(function, required_only=False)

获取可调用函数的参数名称。

特殊参数(如 *args**kwargs)不包含在输出中。

如果 required_only 为 True,则不将具有默认值的可选参数包含在输出中。

oslo_utils.reflection.get_callable_name(function)

从可调用对象生成名称。

尝试尽最大努力猜测完全限定的可调用对象名称。

oslo_utils.reflection.get_class_name(obj, fully_qualified=True, truncate_builtins=True)

获取对象的类名称。

如果对象是类型,则返回类型的名称。如果对象是绑定方法或类方法,则返回其 self 对象的类名称。如果对象是类的实例,则返回实例的类名称。否则,返回对象的类型的名称。如果 fully_qualified 为 True,则返回类型的完全限定名称。对于内置类型,仅返回名称。如果无法从对象获取类名称,则引发 TypeError。

oslo_utils.reflection.get_member_names(obj, exclude_hidden=True)

获取对象的全部成员名称。

oslo_utils.reflection.get_members(obj, exclude_hidden=True)

根据是否隐藏/不隐藏成员来生成对象的成员。

在版本 2.3 中添加。

oslo_utils.reflection.get_method_self(method)

获取附加到此方法的 self 对象(或无)。

oslo_utils.reflection.is_bound_method(method)

返回给定方法是否绑定到对象。

oslo_utils.reflection.is_same_callback(callback1, callback2)

返回两个回调是否相同。

oslo_utils.reflection.is_subclass(obj, cls)

返回对象是否为类,以及它是否是给定类的子类。