Python 有没有更简单的解包元组的方法?

Python 有没有更简单的解包元组的方法?,python,Python,下面是我在一个RPG游戏中编写的一些代码的示例,我一直在开发这个游戏。在赢得一场战斗后,统计数据将在level_up()函数中更新,并以列表的形式返回。 这就引出了我的问题。有没有更好的方法来编写下面的代码 stats = level_up() level = stats[0] exp = stats[1] exp_nextlev = stats[2] health = stats[3] defense = stats[4] attack = stats[5] speed = stats[6]

下面是我在一个RPG游戏中编写的一些代码的示例,我一直在开发这个游戏。在赢得一场战斗后,统计数据将在level_up()函数中更新,并以列表的形式返回。 这就引出了我的问题。有没有更好的方法来编写下面的代码

stats = level_up()
level = stats[0]
exp = stats[1]
exp_nextlev = stats[2]
health = stats[3]
defense = stats[4]
attack = stats[5]
speed = stats[6]

我会把它写成一个命名的元组

from collections import namedtuple

Stats = namedtuple('Stats', ['level', 'exp', 'exp_nextlev', 'health', 'defense', 'attack', 'speed'])

def level_up():
    # blah code blah
    return Stats(level, exp, exp_nextlev, health, defense, attack, speed)

stats = level_up()
那么你可以参考一下

stats.exp
stats.health

etc

我会把它写成一个命名的元组

from collections import namedtuple

Stats = namedtuple('Stats', ['level', 'exp', 'exp_nextlev', 'health', 'defense', 'attack', 'speed'])

def level_up():
    # blah code blah
    return Stats(level, exp, exp_nextlev, health, defense, attack, speed)

stats = level_up()
那么你可以参考一下

stats.exp
stats.health

etc

在我看来,从函数返回这样一个字典不是更短,而是更好的样式。当您以后访问字典的值时,您的代码的可读性将与每个项目的不同变量一样。

我认为,从函数返回这样的字典不是更短,而是更好的样式。当您以后访问字典的值时,您的代码的可读性将与每个项目的不同变量一样。

level,…,speed=level\u up()
comma-separated variables=stats
level,…,speed=level\u up()
逗号分隔变量=stats不起作用。它说统计数据丢失。@SpencerDuffin Python没有错误消息“统计数据丢失”。这个答案是完全正确的。对不起,我的意思是统计数据(生命、攻击等)设置为零。这不起作用。它说统计数据丢失。@SpencerDuffin Python没有错误消息“统计数据丢失”。这个答案是完全正确的。对不起,我的意思是统计数据(生命、攻击等)设置为零。