【发布时间】:2015-10-09 17:57:30
【问题描述】:
处理具有子属性的类。下面的代码是一个好习惯/ Pythonic吗?如果没有,有什么建议吗?
目标
exp = ExCls()
prop1 = exp.subprop.prop1
exp.print_prop2()
## prop1 = 1
## prints 2
示例代码
class ExCls():
class subprop:
prop1 = 1
prop2 = 2
def print_prop2(self):
print self.subprop.prop2
【问题讨论】:
-
请注意
subprop在ExCls的所有实例之间共享,这是故意的吗? -
您应该通读Tutorial 几遍,然后看看
property内置的函数,也许还可以看看Descriptor How To Guide。 -
@GingerPlusPlus,我在构建时忽略了这个事实。谢谢。
-
@wwii,感谢 property 参考。这会很有帮助:)