提问人:link89 提问时间:7/10/2023 更新时间:7/10/2023 访问量:34
Python 中是否有一种智能方法来检查输入值是否与其中一个类变量匹配?
Is there a smart way in Python to check if a input value match one of the class variables?
问:
这是一个幼稚的实现。
class DataFormat:
CP2K_OUTPUT_DIR = 'cp2k/output_dir'
VASP_OUTPUT_DIR = 'vasp/output_dir'
LAMMPS_OUTPUT_DIR = 'lammps/output_dir'
CP2K_OUTPUT = 'cp2k/output'
VASP_OUTPUT = 'vasp/xml'
EXTXYZ = 'extxyz'
@classmethod
def is_valid(cls, format: str):
return format in [
cls.CP2K_OUTPUT_DIR,
cls.VASP_OUTPUT_DIR,
cls.LAMMPS_OUTPUT_DIR,
cls.CP2K_OUTPUT,
cls.VASP_OUTPUT,
cls.EXTXYZ,
]
有没有一种聪明的实现方式,以便在支持新的数据格式时不需要更新它?is_valid
答: 暂无答案
上一个:避免多层比较函数中的重复
评论
valid_list
return format in [ v for k,v in vars(cls).items() if not k.startswith('__')]