찾다

 >  Q&A  >  본문

python 实例化对象如何依次调用之前实例化的类的其它方法?

1.有一个类classA,结构如下:

class classA:

def __init__(self, input):
    self.input = input

def dataClean(self, zero=True):
    data = pd.read_csv(self.input, header=0, index_col=0, sep="\t")
    for index in data.index:
        data = data.drop(index) if zero and sum(data.loc[index])==0 else data
     return data

def sayHello(self):
    print "hello"
    return data
        
a = classA(input)
a = a.dataClean()    #    此处没错

print a.sayHello()    #    此处报错

导入了pandas模块,data是一个数据框,a调用classA的第一个方法是没错的,但调用第二个方法sayHello就报错,显示sayHello不是a的方法属性,

返回值的问题?是不是我不该把返回值设成data这个数据框呢?应该返回什么?自己?

想达到的效果:类似于

a.strip().split("\t")

这种连续调用两个方法的效果。初学者,谢谢各位大神


高洛峰高洛峰2933일 전681

모든 응답(1)나는 대답할 것이다

  • 三叔

    三叔2016-11-17 16:07:16

    如果要链式调用,必须返回自己

    회신하다
    0
  • 취소회신하다