我不认为代码无法工作,而是想了解它为什么能工作。具体来说,我不明白程序如何从程序一部分的元组列表中移动(在本例中,运动员及其各自的年龄和位置都在一个元组中),然后以某种方式“知道”每个元组的关联位置值属于程序的另一部分。我只是缺少对语法的一些理解,我想并且希望得到任何指点。这是示例代码:
team = [('Marta', 20, 'center'), ('Ana', 22, 'point guard'), ('Gabi', 22, 'shooting guard'), ('Luz', 21, 'power forward'), ('Lorena', 19, 'small forward'), ]
def player_position(players):
result = []
for name, age, position in players:
result.append('Name: {:>19} \nPosition: {:>15}\n'.format(name, position))
return result
for player in player_position(team):
print(player)
Python 如何知道我们希望它在“团队”列表中查找所有数据?我们定义的新函数,player_positions,采用一个参数:“players”。这个论点从何而来?它只是出现在代码中间,并且没有在我能看到的任何地方明确定义或分配。 Python 如何知道将此参数“玩家”与元组列表中记录的所有数据相关联?
Python 如何知道我们希望它在“团队”列表中查找所有数据?
因为当您调用
player_position()
函数时,您正在传递 team
作为参数:
for player in player_position(team):
我们定义的新函数,player_positions,采用一个参数:“players”。这个论点从何而来?
它是由调用者提供的,正如我上面所说的。
它被命名为
players
只是因为函数作者决定将其命名。 它不必与调用者传入的变量同名。