python - 如何从类中获取每个变量实例的列表?
问题描述
我正在尝试找到一种方法来self.average
从类中获取变量的所有实例的列表Basketball
。然后我会做max(list)
以获得最大值。
class Basketball:
def __init__(self, name, goals, shots):
self.name = name
self.goals = goals
self.shots = shots
self.average = shots / goals
def display_average(self):
"""
>>> b1 = Basketball("Karen", 20, 80)
>>> b1.display_average()
'Player: Karen, average goals per game: 4'
"""
returnString = f"Player: {self.name}, average goals per game: {self.average:.2f}"
return returnString
if __name__ == "__main__":
player1 = Basketball("Karen", 20, 80)
print(player1.display_average())
player2 = Basketball("Alex", 4, 19)
print(player2.display_average())
解决方案
您可以创建一个列表并将该类的所有实例存储在其中。然后,您可以从列表中提取所有平均值并从中获取最大值。我会使用这样的列表理解:
if __name__ == "__main__":
basketball_list = []
basketball_list.append(Basketball("Karen", 20, 80))
basketball_list.append(Basketball("Alex", 4, 19))
best_avg = max([i.average for i in basketball_list])
推荐阅读
- arrays - 如何根据打字稿中的特定键将数据推送到同一个对象中
- javascript - 正则表达式查找最短匹配句子
- r - Azure VM 机器上的 setwd 和映射网络驱动器问题(Windows)
- sql - 是否有将 varchar 转换为 int 的 SQL Server 函数?
- react-native - 在 textInput 组件外部点击调用 onBlur
- sql - SQL选择名称相同但价格不同的行
- java - 店铺一览
成二维 Object[][] - plsql - 可以使用 NLS_date 格式从不同会话中获得相同的结果吗?
- java - 允许为 Hibernate 验证的子对象覆盖/设置约束验证
- jquery - 尝试在 if 语句中使用输入字段中的数字时获取 NaN