例如,对象只有两个属性,person对象,在本例中, 只有名字和第二个名字。 这可能在飞行中使性别属性成为可能吗?谢谢。这可能动态地在python对象中生成一个属性吗?
3
A
回答
8
简短的回答:是的
class Person(object):
def __init__(self):
self.first_name = 'Will'
self.second_name = 'Awesome'
my_guy = Person()
my_guy.gender = "Male"
print(my_guy.gender)
将打印Male
2
如果你一直不知道,当你写代码这个属性被调用,您可以
my_guy = Person()
attr = 'secret_habit' # this could be read from file, keybrd etc.
value = 'wont tell you'
setattr(my_guy, attr, value)
print(my_guy.secret_habit)
我得到“不会告诉你'
+2
忘掉'__dict__'并使用'setattr' /'getattr'。访问实例字典是fragil,它在许多情况下失败(例如'__slots__',旧式类,属性,其他属性访问覆盖,甚至可能更多),这可能不是多数情况,但绝对可以考虑。 – delnan
+0
@delan:按照你的建议修复它。 – yosukesabai
相关问题
- 1. 动态地生成上的一个对象,红宝石一个属性,导轨
- 2. python:生成器对象上的属性
- 3. 可能生成一个动态变量?
- 4. 动态地为对象属性赋值
- 5. Python动态对象生成混乱
- 6. ReSharper可以生成将属性从一个对象复制到另一个对象的代码吗?
- 7. 动态访问功能对象属性
- 8. 可能使用Grails派生属性来检索域对象吗?
- 9. 如何访问一个动态属性:对象名{}可变
- 10. 如何查看动态生成的对象的所有属性?
- 11. 在对象中动态添加属性
- 12. 在C#中使用动态属性创建一个对象#
- 13. 我可以将属性动态应用于对象字段吗?
- 14. 使用.NET动态对象可以随时创建属性吗?
- 15. 我可以在python中更改__name__对象的属性吗?
- 16. 动态生成的对象
- 17. 是否有可能在.NET中动态生成一个类?
- 18. 你能在Scala中动态调用一个对象方法吗?
- 19. 有什么方法可以动态地改变对象属性的值吗? JavaScript
- 20. 在Python中,对象是否可以有另一个对象作为属性?
- 21. 我可以为对象动态创建属性类型和属性名称吗?
- 22. 多个动态对象属性
- 23. 可能对动态生成的xml执行xsl转换吗?
- 24. 如何在其他对象内动态生成javascript对象。你可以在对象中使用for循环吗?
- 25. 动态地将JavaScript对象存储在另一个对象中
- 26. 这是一个最佳的表结构吗? (动态表属性)
- 27. 从动态生成的类中实例化一个对象
- 28. Objective-c中的动态对象属性
- 29. 的Python:空调上的一个对象的属性可能不存在
- 30. 枚举可能或可能不是动态的AS3对象的属性
应该注意这个方法:如果你调用Person()。gender',你会得到一个Att ributeError,所以一定要抓住它,如果有可能attr不在那里。 – Daenyth