python - 如何使用字符串列表作为变量名/对象属性?
问题描述
我想做的是在创建对象时将字符串列表用作对象的属性。我已经看到另一个主题通过创建字典来讨论使用字符串列表作为变量,但这似乎将字符串保留为字符串,这对我不起作用,我不认为。这就是我想要的工作。这是一个 DnD 练习:
abilities = ['strength', 'dexterity', 'constitution', 'intelligence', 'wisdom', 'charisma']
class Character:
def __init__(self):
for ability in abilities:
self.ability = roll_ability() #this is a call to an outside function
谢谢!
解决方案
使用setattr
:
def __init__(self):
for ability in abilities:
setattr(self, ability, roll_ability())
推荐阅读
- image-processing - 卡尔曼滤波器用于预测面向相机的弹丸轨迹
- python-3.x - 我正在尝试安装要求,但它没有从 pip.conf 文件中获取值
- .net - IIS 应用程序池已启动,但 API 没有响应
- mysql - MYSQL 获取从星期六开始的月份中的一周,前导零
- python - 在 python 中通过新行、符号和带空格的正则表达式拆分字符串
- java - 对于 Base64 类型,未定义方法 encode(byte[], int)。发布 API 调用
- aem - 链接 sass 在 AEM 中编译 css 文件
- c# - 如何在 razor 之外使用 razor 声明的变量?
- c# - DbSet 未包含在 ApplicationDbContext 中,但仍会创建一个表
- python-3.x - 无法使用 python 异步上传到 Azure Blob