将方法输出设置为 python 类中另一个方法的参数

Set a method output as parameter of another method in a python class

提问人:hermann joel 提问时间:3/11/2023 更新时间:3/11/2023 访问量:215

问:

class SomeClass(object):
    def __init__(self, something_1, something_2=0):
        self.something_1=something_1
        self.something_2=something_2
        
    def SomeMethod_1(self):
        something_2=readsomefile(self.something_1)
        return something_2
    
    def SomeMethod_2(self, data=None):
        try:
            if data is None:
                data = self.something_2
                df = dosometransformation(data)
                return df
        except Exception as e:
            print("SomeMethod_2 error!: "+str(e))

if __name__ == '__main__':
    SomeClass=SomeClass(something_1)
    SomeClass.SomeMethod_2(SomeMethod_1())

我想将类中方法的输出设置为方法的参数。我不知道我错在哪里,但我的代码不起作用。SomeMethod_2()df_1SomeMethod_1()SomeClass()

Python 方法 参数 参数

评论


答:

0赞 chepner 3/11/2023 #1

您没有正确地调用作为对象的方法。SomeMethod_1obj

obj = SomeClass(something_1)
obj.SomeMethod_2(obj.SomeMethod_1())

此外,不要同时用作类和类实例的名称;两者使用相同的命名空间。SomeClass

评论

0赞 hermann joel 3/12/2023
感谢您的回答,但我更关心的是如何将方法的结果设置为方法的输入。正是参数.SomeMethod_2SomeMethod_1self.something_2
0赞 chepner 3/12/2023
obj.something_2 = obj.SomeMethod_1()?如果要设置 的值,则需要成为方法定义的一部分。obj.SomeMethod_2obj.something_2