gpt4 book ai didi

python - 污染类(class)环境

转载 作者:太空宇宙 更新时间:2023-11-04 06:58:11 26 4
gpt4 key购买 nike

我有一个对象,其中包含许多静态访问的 ID。我想将其拆分为另一个对象,该对象仅包含那些 ID,而无需修改已经存在的代码库。举个例子:

class _CarType(object):
DIESEL_CAR_ENGINE = 0
GAS_CAR_ENGINE = 1 # lots of these ids

class Car(object):
types = _CarType

我希望能够通过调用 Car.types.DIESEL_CAR_ENGINE 或通过 Car.DIESEL_CAR_ENGINE 向后访问 _CarType.DIESEL_CAR_ENGINE与现有代码的兼容性。很明显我不能使用 __getattr__ 所以我试图找到一种方法来完成这项工作(也许是元类?)

最佳答案

虽然这不完全是子类化的目的,但它完成了您所描述的:

class _CarType(object):
DIESEL_CAR_ENGINE = 0
GAS_CAR_ENGINE = 1 # lots of these ids

class Car(_CarType):
types = _CarType

关于python - 污染类(class)环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2012698/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com