如何从外部访问类的局部变量?python

2024-06-16 13:51:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有enums python文件,它有:

class ClassificationType(object):
    CLASSIFICATION_TYPE_UNSPECIFIED = 0
    MULTICLASS = 1
    MULTILABEL = 2

我正在编写另一个python文件来获取在enums类中声明的变量的值。你知道吗

def dataset(model_typ):
    dataset_spec = {
        "classification": enums.ClassificationType.MULTICLASS
    }

根据上面的代码,我可以得到MULTICLASS的值为1。 现在我需要将MULTICLASS/MULTILABEL/CLASSIFICATION类型作为参数(model类型)传递给dataset规范。 怎么做?你知道吗

提前谢谢

注意:我不想改变枚举.py文件。你知道吗


Tags: 文件声明类型modelobjectdeftypedataset
2条回答

尝试在另一个文件中使用以下代码(而不是枚举.py文件):

from enums import ClassificationType as ct
import random
def dataset(model_typ):
    dataset_spec = {
        "classification": model_typ
    }
    print(dataset_spec)
dataset(random.choice([ct.MULTILABEL,ct.MULTICLASS]))

输出:

{'classification': 2}

我只是简单地将dataset_specclassification键的值更改为参数model_typ,然后在代码末尾调用dataset函数并在参数中写入enums.ClassificationType.MULTICLASS以获取enums.py文件MULTICLASS变量

class ClassificationType(object):
    CLASSIFICATION_TYPE_UNSPECIFIED = 0
    MULTICLASS = 1
    MULTILABEL = 2


def dataset(model_typ_multiclass):
    dataset_spec = {
        "classification": model_typ_multiclass
    }

obj = ClassificationType()
model_typ_multiclass = obj.MULTICLASS
dataset(model_typ_multiclass)

相关问题 更多 >