|
|
1
15
collections module 已经成长为 命名双倍 2.6中的功能:
A. 是不可变的,因此只能在创建字段时指定字段值。 在早些时候 版本,则可以创建空类:
|
|
|
2
9
根据您的要求,我认为定制类是您的最佳选择:
完整地说,另一种方法是使用单独的模块,即。
然后,在
这是我经常使用的一种模式,如果您不介意您的应用程序变得比单个模块更大,我将衷心推荐这种模式。或者,从自定义类开始,如果您的应用程序扩展到多个模块,则稍后扩展到一个模块。 |
|
|
3
7
如果坚持不必定义类,则可能会滥用某些现有类。大多数对象属于“新型”类,这些类没有dict,但函数可以具有任意属性:
一个问题是函数已经有一些属性,因此dir(x)有点混乱:
|
|
|
4
7
optparse :
|
|
|
5
5
我用 attrdict
根据你的观点,你可能认为这要么是一个大难题,要么是相当聪明。但不管您怎么想,它确实可以生成好看的代码,并且与dict兼容:
|
|
|
6
4
请注意,您可以提供初始字典,也可以将其保留为空。
|
|
|
7
3
只需创建一个名为Options.py的模块,然后导入它。将默认选项值作为全局变量放入其中。 |
|
|
8
2
davraamides's suggestion ,可采用以下方法:
哪一个
顺便说一下,初始化的实例更容易
如果不需要神奇的初始化行为,甚至可以使用
但我仍然希望找到一个不需要辅助类的解决方案。 |
|
|
9
1
可以使用
,使用类对象本身(不是类的实例!)作为存储单个选项的位置。这是简洁的,满足了所有的需求,但它似乎是对类概念的滥用。如果用户实例化了
(如果需要包含对象的选项的多个实例,这将是一个非常好的解决方案——类定义提供默认值,可以在单个实例中重写。) |
|
|
10
1
完成此任务的最简单类是:
它以后可以用作:
|
|
|
11
-2
|