将其他对象放在类名称空间上是不好的做法吗?

时间:2016-05-02 23:15:33

标签: python oop

我有一堆我要查询数据的分片(数据库),然后我需要为S3创建一个清单文件。将清单对象放在类级别是不好的做法:

class Shard(mu.PrettyStr):
    # Tracks files on a class level for manifest creation.
    manifest = aws.S3Manifest()

然后像这样操纵它:

Shard.manifest.add_record(
            s3_destination=s3.get_full_destination()
        )

cu.Shard.manifest.create_manifest() 

1 个答案:

答案 0 :(得分:2)

使其成为类实例意味着在定义Shard时将实例化清单类,而不是在实例化时。如果那没关系,那么你所做的就没事了。

如果您希望将此推迟至至少一个类的实例,请在类上将其定义为None,然后在Shard.__init__()中将其实例化(如果该属性不是{ {1}}。