Python API中对象初始化的OO设计模式

Python API中对象初始化的OO设计模式,python,api,oop,Python,Api,Oop,在python中创建API时,我不确定使用init创建基本对象实例时采用什么方法 在API中创建对象实例时,用户很可能希望该对象是以下两件事之一: 已存在于API所针对的对象中的对象的实例 在API所针对的对象中创建新对象 是否有一个可接受的设计模式?init是否应该创建一个空对象,然后使用者必须调用get或set方法?或者init应该使用一个参数来判断这是get还是set?最后,应该从init的参数推断get或set吗?我想不出一种设计模式与您所描述的完全匹配,因为: 通常处理类的族(层次结

在python中创建API时,我不确定使用init创建基本对象实例时采用什么方法

在API中创建对象实例时,用户很可能希望该对象是以下两件事之一:

  • 已存在于API所针对的对象中的对象的实例
  • 在API所针对的对象中创建新对象

  • 是否有一个可接受的设计模式?init是否应该创建一个空对象,然后使用者必须调用get或set方法?或者init应该使用一个参数来判断这是get还是set?最后,应该从init的参数推断get或set吗?

    我想不出一种设计模式与您所描述的完全匹配,因为:

    • 通常处理类的族(层次结构)
    • 通常处理由许多类组成的复杂对象
    将API重载到以下内容如何

    在没有参数的情况下调用时:

    custom_API()
    
    然后,只需创建一个具有一些合理默认值的新基本对象,并让使用者使用get/set对其进行配置

    使用某种类型的查找键调用时:

    custom_API("abc")
    
    然后返回相应的对象,或者查找键的对象列表是模糊的,或者如果找不到匹配的对象,则返回
    None