将对象传递给函数[python]的正确方法

时间:2014-06-08 06:17:15

标签: python pygame

我正在使用pygame在python中进行射击游戏,并且对将对象传递给函数的正确方法有疑问。

在加入游戏时,游戏中的每个玩家都将被分配一个团队。有一个叫做团队的班级,可以跟踪团队的状态(分数,玩家数量等)。团队对象存储在列表中。有时,函数需要查看和/或修改团队对象。我想知道以下哪两种方法是将团队对象传递给函数的更好方法。

方法1:

每个团队对象都有一个名为teamId的整数属性。每个teamId都是独一无二的。如果另一个函数需要访问团队对象,它将通过teamId传递,搜索团队列表,直到找到具有相应teamId的对象,然后使用该对象。

示例:

def functionThatNeedsTeam(teamId):
    team = getTeamById(teamId)
    doSomething()
    return

functionThatNeedsTeam(teamId)

方法2:

如果一个函数需要访问一个团队对象,它将被传递给团队对象本身。

示例:

def functionThatNeedsTeam(team):
    doSomething()
    return

functionThatNeedsTeam(teamObject)

我已经看过这些方法在我看过的各种pygame项目中使用过,并且想知道哪一个更好。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

您应该将函数传递给它所需的数据。

是否可以使用ID?然后你应该将其作为参数传递。否则,通过团队,或者如果它只使用团队的一个属性,请考虑传递它。

大部分时间做的事情导致代码更少是正确的。