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

查看:374
本文介绍了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")

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

解决方案

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

这篇关于python 实例化对象如何依次调用之前实例化的类的其它方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆