当我在自定义函数中返回自定义类对象时,它将整个类分配给一个属性

时间:2019-03-12 00:15:03

标签: python deap

嗨,我需要在函数末尾返回Complete类对象。我从这堂课开始的:

import NumPy as np

class Cromo(object):
    def __init__(self, Secuencia=np.ndarray, Ruta=np.ndarray):
        self.Sec=Secuencia
        self.Ruta=Ruta

,并且还具有以下功能:

def CromosomaOpen(): 
    O=int(estacionesopen)
    T=int(trabajos)
    Route=np.zeros((O, T))
    Secu=np.zeros(T)
    for i in range(T):
        perm=np.random.permutation(range(1, O+1, 1))
        for j in range(O):
            Route[j,i]=perm[j]
    Secu=np.random.permutation(range(1, T+1, 1))
    hola=Cromo(Secuencia=Secu, Ruta=Route)
    return hola

并运行

Individuo=CromosomaOpen()

运行时,它到达“ CromosomaOpen”函数中“返回”行之前的行,并且运行良好。它创建一个同时具有Numpy数组的“ Sec”和“ Ruta”贡品的Cromo对象。但是,当它到达Return行时,它再次在Cromo中运行 init 函数,最后,当我检查“ Individuo”时,同时分配了“ Secuencia”和“ Ruta” numpy数组设置为“秒”属性。

注意:由于算法逻辑中的特定原因以及我正在使用DEAP框架,因此我需要Cromo Object和CromosomaOpen函数相互独立。

不知道我在做什么错。我是python的新手。谢谢

0 个答案:

没有答案