提问人:hermann joel 提问时间:3/11/2023 更新时间:3/11/2023 访问量:215
将方法输出设置为 python 类中另一个方法的参数
Set a method output as parameter of another method in a python class
问:
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_1
SomeMethod_1()
SomeClass()
答:
0赞
chepner
3/11/2023
#1
您没有正确地调用作为对象的方法。SomeMethod_1
obj
obj = SomeClass(something_1)
obj.SomeMethod_2(obj.SomeMethod_1())
此外,不要同时用作类和类实例的名称;两者使用相同的命名空间。SomeClass
评论
0赞
hermann joel
3/12/2023
感谢您的回答,但我更关心的是如何将方法的结果设置为方法的输入。正是参数.SomeMethod_2
SomeMethod_1
self.something_2
0赞
chepner
3/12/2023
obj.something_2 = obj.SomeMethod_1()
?如果要设置 的值,则需要成为方法定义的一部分。obj.SomeMethod_2
obj.something_2
评论