Skip to main content
 首页 » 编程设计

Python:在初始化期间取消对象创建

2025年05月04日12lhb25

我正在创建一个对象列表,如果有任何对象在初始化时有一些不需要的数据,我想立即取消它们的初始化,并继续进行下一个对象。在 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)]