在循环或if语句中实例化类是否在编程上是正确的?

use*_*919 3 python oop class

根据以下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)

Mar*_*eth 7

在循环中创建一个对象绝对没问题.

根据您运行的平台的速度以及您正在编写的实际程序,这可能需要注意,因为对象的实例化可能是"昂贵的"操作.然而,"成本"实际上是非常小的,并且为此开始更改代码将是"过早优化"的典型示例.

以对您有意义的方式编写代码.一旦你的项目完成,如果它的运行速度比你想要的慢,你可以分析并找到导致它运行缓慢的原因.通常,这是I/O(数据库调用,读取/写入硬盘驱动器或网络等)而不是对象实例化.