【发布时间】:2019-03-09 14:07:24
【问题描述】:
是否可以这样做:
class ParentClassName(object):
name = camel_case_to_underscore(cls.__name__)
class ChildClassName(Parent):
pass
assert Parent().name == "parent_class_name"
assert Child().name == "child_class_name"
assert Child.name == "child_class_name"
assert getattr(Child, 'name') == "child_class_name"
我想创建一个类,其他类可以从该类继承并根据它们的类名设置它们的名称。 在 python 3 中可以吗?
【问题讨论】:
-
已经存在的
cls.__name__属性有什么问题? -
cf 我编辑的答案
标签: python inheritance metaprogramming