python - 在类定义期间获取类名
问题描述
我正在尝试在类定义期间创建对类名称的访问。
class Foo:
print('Creating class Foo')
有没有办法通过明确指定重写来创建对名称的引用?
就像是:
class Foo:
print('Creating class', __class_name__)
Out[1]: Creating class Foo
原因是我想创建一个存在于类中的记录器对象。
解决方案
那没有。如果您的目标只是减少明确提及类名的地方的数量,我会推荐一个“私有”类属性,它至少可以在词法上保持在语句的开头,以便更容易找到应该您决定更改班级的名称。
class Foo:
_name = 'Foo'
class_logger = logger.getChild(_name)
(这个答案早于对问题的编辑,该问题删除了__class_name__
在定义记录器中的使用作为示例。)
推荐阅读
- python - Python:有没有办法解析过滤器中的元组?
- immer.js - 为什么要为这个功能使用 immer?
- python - Apache Beam 数据流有效地从 PubSub 到 GCS 正确分片和映射消息
- javascript - JS & Lodash 数组查找和删除方法
- c++ - TrackMouseEvent 问题
- node.js - Node.js 端点不工作,但另一个端点工作
- c# - 如何在机器人消息上添加表情符号并能够“投票”?
- java - 如何将所有 system.out.println 捕获到数组或字符串列表中
- python-3.x - 模块“cv2.cv2”没有属性“xfeatures2d”(Opencv 3.4.2.17)
- units-of-measurement - OpenMDAO 单位转换可以处理非标准功率缩放吗?