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



我有下面的函数,我将输出存储到一个名为post的变量中。

jobs = ('Cook', 'Vet', 'Doctor', 'Pilot')
def careers():
output_of_careers = "Heres a list of jobsnn"
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 jobsnn"
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发布正确的数据。我们必须查看函数来确定哪里出了问题。

最新更新