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

Python如何打印多个类实例中health属性的最高值

你提供的示例代码存在笔误:__init__方法中self.health = first_name属于错误赋值,应该改为self.health = health,否则初始化实例时会直接报错。

实现方案
  • 先修正类定义,再将所有需要统计的villains类实例存入同一个列表
  • 调用Python内置max()函数,指定按实例的health属性对比即可拿到最高值

完整可运行代码

# 类名遵循Python大驼峰命名规范,你也可以保留原类名villains
class Villains:
    def __init__(self, health, damage):
        self.health = health
        self.damage = damage

# 初始化实例
v1 = Villains(20, 15)
v2 = Villains(22, 12)
v3 = Villains(18, 25)

# 所有实例存入列表,后续新增实例只需追加到该列表即可
villain_list = [v1, v2, v3]

# 方式1:仅获取最高的health数值
max_health = max(v.health for v in villain_list)
print("最高health值:", max_health)

# 方式2:获取health最高的实例对象,可同时读取该实例的其他属性
max_health_villain = max(villain_list, key=lambda item: item.health)
print("最高health值:", max_health_villain.health)
print("对应实例的damage值:", max_health_villain.damage)

内容的提问来源于stack exchange,提问作者reagent -52

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 11:54:04