gpt4 book ai didi

python - 在 Python 中创建类对象属性后如何更改它们?

转载 作者:行者123 更新时间:2023-12-04 02:31:02 25 4
gpt4 key购买 nike

我正在尝试创建可以稍后根据用户输入进行修改的对象属性

它的要点是我正在尝试制作一个带有统计数据的基于文本的角色扮演游戏。我将 Player 设为类对象,其中包含“HP”“AC”“Strength”等统计数据。

游戏的核心部分是统计数据能够相互影响。例如,玩家的“AC”是通过将 10 加上他们的“Dex”修正值来计算的

我想让玩家选择他们的“Dex”,所以我需要能够相应地修改对象属性

但是,Python 似乎无法识别我输入的数学。

class Test:
def __init__(self):
self.x = 1
self.y = 2
self.z = self.x + self.y

test = Test()
test.y = 7
print(str(test.z))

打印品给我“3”

我怎样才能让它给我“8”?

最佳答案

如果您希望在访问时计算属性值,这是 @property 装饰器的任务,请考虑以下示例:

class Player:
def __init__(self):
self.x = 1
self.y = 2
@property
def z(self):
return self.x + self.y

player1 = Player()
player1.y = 7
print(player1.z)

输出:

8

如果你想了解更多关于 python 中装饰器的信息,我建议阅读 realpython Primer on python decorators .

关于python - 在 Python 中创建类对象属性后如何更改它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64169091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com