以设计格式将函数输出作为另一个函数参数传递

Pass functions output as another functions argument in designed format

我有以下功能,我将输出存储到一个名为 post 的变量中。

jobs = ('Cook', 'Vet', 'Doctor', 'Pilot')
def careers():
    output_of_careers = "Heres a list of jobs\n\n"
    for j in jobs:
        output_of_careers += f"This person is a {j}.\n"
    output_of_careers += "\nAre you interested in any of these as careers?"
    return output_of_careers
post = careers()

我需要将其传递给另一个函数(例如)apicall

apicall(argument1,argument2,post)

最终发生的事情是我得到 None 作为对函数中 post 参数的响应,即使我使用 print(post)print(careers())

我需要的是 post 显示函数 careers()

的以下打印输出
Heres a list of jobs

This person is a Cook.
This person is a Vet.
This person is a Doctor.
This person is a Pilot.

Are you interested in any of these as careers?

在 Python 中完成此任务的正确方法是什么?谢谢

编辑添加apicall()功能供参考

def apicall(arugment1,arugment2,post):
    apikey = 'Key here'
    headers = {'X-API-Key' : apikey}
    uri = 'urihere'
    
    # Set Query
    query = 'mutation {windowUpdate(guid: "' + arugment1 + '", window: {id: "' + arugment2 +'", configuration: {combobox: {text: "' + str(post) + '"}}, {errors {description}}}'


    response = requests.post(uri, headers = headers, data=query)
    print(response)

您的代码看起来非常正确,除了您可能希望将 jobs 参数传递给 careers(),以便该函数的输出可以根据您传递给它的作业而改变。

jobs = ('Cook', 'Vet', 'Doctor', 'Pilot')

def careers(jobs):
    output_of_careers = ""
    output_of_careers += output_of_careers +"Heres a list of jobs\n\n"
    for j in jobs:
        output_of_careers = output_of_careers +"This person is a " + j + ".\n"
    
    output_of_careers = output_of_careers +"\nAre you interested in any of these as careers?"
    return output_of_careers

post = careers(jobs)

def apicall(argument1, argument2, post_argument):
    print(post_argument)

apicall(post)
# Output:
# Heres a list of jobs
#
# This person is a Cook.
# This person is a Vet.
# This person is a Doctor.
# This person is a Pilot.
# 
# Are you interested in any of these as careers?

如果您的 apicall 函数返回的响应中没有任何内容,很可能是您没有将正确的数据发布到 API。我们将不得不查看函数以确定那里出了什么问题。