Python:如何构造具有多个参数的类

2024-03-28 09:09:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我在决定如何组织我的班级时有点困难。我所拥有的是一个棒球运动员类和必要的属性:

  • 播放器ID(数据库中的密钥)
  • 名字
  • 团队
  • 职位
  • 对手
  • 大约10或11个统计数据(历史数据)
  • 大约10或11个统计数据(预计)
  • 投手对决
  • 天气
  • 。。。还有一些

一些事情可以稍微分解一下:

1)将统计数据放入字典

2)制作一个团队类,可以保存团队中所有球员的通用信息,如天气和投手匹配。在

但是,在这之后我还有10个属性。在

看到这个(Class with too many parameters: better design strategy?)给了我一些想法,但不知道它们是否理想。在

1)使用字典-但无法使用方法来计算统计数据(或必须使用单独的函数)

2)使用args/kwargs-但据我所知,这些参数似乎是用于可变数量的参数,而且我的所有参数都将是必需的。在

3)分成小班——我已经分了一点了,但不知道还能不能再分。在

有没有更好的方法来构建它,而不是让一个类列出一堆参数?在


Tags: 方法id数据库参数字典属性密钥团队
1条回答
网友
1楼 · 发布于 2024-03-28 09:09:46

如果从数据库设计的角度来考虑这一点,那么拥有一个BaseballPlayer对象的参数可能会很奇怪:

  • 团队
  • 职位
  • 对手
  • 大约10或11个统计数据(历史数据)
  • 大约10或11个统计数据(预计)
  • 投手对决
  • 天气

因为有一些与特定的BaseballPlayer相关联的事物相对固定,比如名称等,但是这些事物是流动的和短暂的。在

如果您将其设计为具有各种数据库表的应用程序,那么,这里列出的每一项都可能表示一个单独的表,BaseballPlayer与这些其他表的关系相当于当前和以前的{},等等

因此,我可能会将问题分解成更多的类,包括StatsClassTeam类(这可能是Opponent的真正含义…)。在

但这取决于你想做什么。通常情况下,当你正努力把数据塞进一个结构中,或者用同样的方法把它取出来时,设计可以重新设计,使你的工作更容易。在

相关问题 更多 >