您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

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

obj = myobject()
i = 7
date7 = 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)()

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

python 2022/1/1 18:28:26 有182人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶