Python:如何将外部方法的返回值传递给for循环?(增量)

2024-03-28 17:56:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个对象,有几个方法。一个方法包括一堆嵌套的if语句,我想为它们返回某些值。 该方法在外部.py文件的for循环中调用。问题是,返回值永远不会到达外部文件,因此我无法处理返回值。你知道吗

for循环和方法调用都在芹菜任务中,因为这是web应用程序(flask)上的一个长时间运行的任务

任务.py

@celery.task 
def LongRunningTask(foo, bar, ...):
    instance = Object(foo, bar, ...)

    list_containing_elems = [....]

    variable1 = 0
    variable2 = 0 

    for elem in list_containing_elems:
        instance.method(foo, variable1, variable2)
        print(f"Here should the returned {variable1} and {variable2} be displayed")

对象.py


class Object():

    def __init__(self, ...):
        [...]

    def method(self, foo, variable1, variable2):

        [...]

        if statement1:
            [...]

            if statement2:
                [...]

                if statement3:
                     [...]
                     variable1 += 1
                     return variable1

                else:
                     [...]
                     variable2 += 1
                     return variable2
            else:
                [...]
        else:
            [...]

我希望,返回的(和递增的)变量将被传递给任务.py打印声明-但事实并非如此。你知道吗

我真的很累,…可能是因为外面很暖和。你知道吗

有人知道吗?你知道吗


Tags: 文件对象方法instancepyforifobject
1条回答
网友
1楼 · 发布于 2024-03-28 17:56:16

在最后一行中,您正在打印variable1和variable2的初始值 您需要将返回值存储在变量中: 返回值=实例.方法(foo,变量1,变量2) 然后必须打印变量(returnedValue)。你知道吗

相关问题 更多 >