You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为列表声明创建自定义类型?基于person类的实现疑问

创建指定Person类型列表的可行方法

Python是动态类型语言,不像Java、C++那样需要在变量前声明类型,你之前的写法不符合Python语法规则,下面是几种可行的实现方式:

1. 创建空列表后逐步添加Person实例

先定义好你的Person类,然后初始化空列表,之后按需往里面添加Person对象:

class Person:
    def __init__(self, name=None):
        self.name = name

# 初始化空列表
person_list = []
# 添加Person实例
person_list.append(Person("Alice"))
person_list.append(Person("Bob"))

2. 用列表推导式批量创建Person实例列表

如果需要一次性生成包含多个Person实例的列表,用列表推导式最方便,还能给每个实例初始化参数:

# 创建100个默认的Person实例
person_list = [Person() for _ in range(100)]

# 给每个实例分配不同的初始化参数(比如编号)
person_list = [Person(f"User_{i}") for i in range(100)]

注意:别用[Person()] * 100,这种写法会创建100个指向同一个Person实例的引用,修改其中一个会影响所有元素。

3. 用类型注解标注列表元素类型(仅做提示)

如果只是想明确这个列表应该存放Person类型(Python不会强制检查,但IDE会给出语法提示),可以用typing模块的List做类型注解:

from typing import List

class Person:
    pass

# 标注该列表的元素应为Person类型
person_list: List[Person] = []
# 后续添加Person实例就符合注解要求
person_list.append(Person())

内容的提问来源于stack exchange,提问作者John Murphy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 16:40:37