Python中是否有语法糖可便捷生成同一类的重复实例?
问题:简化固定参数的Person实例创建
背景定义
首先定义如下Person类:
class Person: def __init__(self, name, id): self.name = name self.id = id
并创建了几个固定参数的实例:
tom = Person('Tom', 12) dick = Person('Dick', 14) harry = Person('Harry', 16)
需求
希望模块使用者无需调用Person构造函数,就能创建这些人的多个实例,且name和id仅在一处声明。
现有方案及存在的问题
- 使用
copy或deepcopy:虽能实现功能,但每次创建新实例都要手动复制已有对象,操作繁琐。 - 创建专属子类:以Tom为例,编写如下子类
class Tom(Person): def __init__(self): super().__init__('Tom', 12)
这种方式只需调用Tom()就能创建新实例,操作更简洁,但每个角色都要单独写子类,代码冗余,不符合DRY(Don't Repeat Yourself)原则。
提问
请问Python中是否有其他语法糖可以简化这类操作?
内容的提问来源于stack exchange,提问作者Carpetfizz
相关产品推荐
相关产品推荐

