如何在Python中动态组成和访问类属性?

如何在Python中动态组成和访问类属性?,第1张

如何在Python中动态组成和访问属性

getattr()
当您在运行时不知道属性名称时,可以使用它来访问属性:

obj = myobject()i = 7date7 = getattr(obj, 'date%d' % i) # same as obj.date7

如果将编号的类保存在名为的模块中

foo
,则可以
getattr()
再次使用来按编号访问它们。

foo.py:  class Class1: pass  class Class2: pass  [ etc ]bar.py:  import foo  i = 3  someClass = getattr(foo, "Class%d" % i) # Same as someClass = foo.Class3  obj = someClass() # someClass is a pointer to foo.Class3  # short version:  obj = getattr(foo, "Class%d" % i)()

说了这么多,您 真的 应该避免这种事情,因为除非通读整个代码库,否则您将永远无法找出这些编号的属性和类在何处使用。您最好将所有内容都放入字典中。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/5644846.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存