我正在创建一个对象列表,如果有任何对象在初始化时有一些不需要的数据,我想立即取消它们的初始化,并继续进行下一个对象。在 Python 中是否有类似的最佳实践?
data = [good, bad]
theList = [myObject(some_data) for some_data in data]
# I'd like myObject to determine if it should create itself, after some data parsing.
我应该从 __new__ 中什么都不返回吗?或者我只需要从 myObject 中分离出数据验证逻辑..?或者..?
谢谢!
上下文:给定一个文件夹路径,我正在按顺序检查一堆东西(基本名称格式是否正确,如果是,某个文件是否存在,如果是,解析它......等)
请您参考如下方法:
就像其他答案所说的那样,在创建对象之前验证数据。有点像这样:
def validate(data):
if data_is_good: return True
else: return False
data = [good, bad]
theList = [myObject(some_data) for some_data in data if validate(some_data)]
