根据以下Python代码段,我想问一下在循环或if语句中创建类的实例是否是一个好策略.我是OOP概念的新手,尽管我在很大程度上理解它,但我不知道这样的东西是否是以编程方式接受和正确的.
一些程序员告诉我,我不应该在循环中实例化一个类.这样的事情会影响我的程序的效率和记忆吗?你有什么意见?
station = ['one','two'...]
for station in stations_names:
f = open('respond.txt','r')
## Instantiate class: ClassXmlString
xmlStr = ClassXML.XML(f,station)
stations_arr = xmlStr.xmlToString()
Run Code Online (Sandbox Code Playgroud)
在循环中创建一个对象绝对没问题.
根据您运行的平台的速度以及您正在编写的实际程序,这可能需要注意,因为对象的实例化可能是"昂贵的"操作.然而,"成本"实际上是非常小的,并且为此开始更改代码将是"过早优化"的典型示例.
以对您有意义的方式编写代码.一旦你的项目完成,如果它的运行速度比你想要的慢,你可以分析并找到导致它运行缓慢的原因.通常,这是I/O(数据库调用,读取/写入硬盘驱动器或网络等)而不是对象实例化.