在Python中以这种方式创建类和实例的优缺点是什么?

2024-09-30 05:22:38 发布

您现在位置:Python中文网/ 问答频道 /正文

class CIFAR10Record(object):
    pass

result = CIFAR10Record()
result.height = 32
result.width = 32
result.depth = 3

这段代码创建了一个类及其实例。

这种模式的优点和缺点是什么?


Tags: 实例代码object模式passresultwidthclass
1条回答
网友
1楼 · 发布于 2024-09-30 05:22:38

这段代码使用一个类来“聚集”许多相关字段。在

优点是它非常灵活。定义的类没有任何成员。任何函数都可以决定添加哪些字段。不同的调用可以创建这个类的对象,并以不同的方式填充它们(因此,可以同时拥有具有不同成员的同一类对象)。在

这种灵活性也是一种弊病。这缺乏结构:更难查看代码并决定类将拥有哪些成员。获取这样一个对象并迭代成员也不那么简单。最后,这个类是no encapsulation的极端情况。在


总之,我认为还有更好的选择:

如果确实需要这种灵活性(这本身就是一个问题),您可能需要考虑使用dict。在

result = {}
result['height'] = 32
result['width'] = 32
result['depth'] = 3

这里(IMHO)更清楚的是,结果只是一组字段,使用^{}'s methods在字段上迭代更容易。在

如果不需要这种灵活性,并且它只是最小化代码量的一种方法,那么您应该考虑使用^{}。在

^{pr2}$

相关问题 更多 >

    热门问题