我有一个大型课程(40个左右的方法),这是我将作为课程作业提交的软件包的一部分.目前,这些方法在实用公共/私人等方面相当混乱,我想以合理的方式对它们进行排序.有这样做的标准方法吗?例如,通常字段在方法之前列出,构造函数在其他方法之前列出,而getter/setter在最后; 剩下的方法呢?
处理必须按特定顺序调用方法的模块的最pythonic方法是什么?
例如,我有一个XML配置,在执行任何其他操作之前必须先读取,因为配置会影响行为.在parse_config()必须先调用所提供的配置文件.调用其他支持方法之后query_data()才会parse_config()调用.
我首先将其实现为单例,以确保在初始化时传递配置文件名,但注意到模块实际上是单例,它不再是类,而只是常规模块.
parse_config在模块中强制执行首次调用的最佳方法是什么?
编辑:值得注意的是该功能实际上是parse_config(configfile)
阅读这个关于方法排序的问题,我思考了在Python中将受保护的方法放在哪里以及它们应该是私有的_method(self)还是公共的method(self)。我知道 Python 不提供受保护方法的语言功能。
私有:按照约定,以下划线开头的属性是私有的。通常仍然可以从外部访问它们,但不应该。用下划线开头的受保护方法感觉很奇怪,因为不清楚子类实际上重写了该方法而不是声明它自己的实现细节。
Public:没有下划线,更有可能有人会查看基类以查看该方法是否已经存在。因此,这对于子类化的人来说更好。然而,想要使用子类的人不知道该方法只是一个实现细节,可能会尝试从外部调用它。
在 Python 中定义受保护方法的首选方法是什么?