我正在尝试弄清楚如何将一个函数指向一个函数。我要做的是回答一个提示性问题y/n,它会运行某个函数。当我输入y时,它将遍历两个函数,而不仅仅是函数1。
谢谢!
def company_type(question, public_company, private_company):
print("Is the target company public on NYSE or NASDAQ?")
prompt = f'{question} (y/n)'
ans = input(prompt)
if ans == 'y':
return (public_company)
if ans == 'n':
print("Please enter financial infomation manually.")
return (private_company)
company_type("public_company", "private_company", 1)
# function 1
def public_company():
return (print("Success 1"))
public_company()
# function 2
def private_company():
return (print("Success 2"))
private_company()发布于 2021-11-09 06:15:39
你完全可以返回一个函数供以后使用--这是函数式编程的本质,也是使用 in python ~ Guido Van Rossum的原因。
重要的是要记住,括号表示函数调用,而没有括号表示函数对象。
def public_company():
print("we do what public companies do")
def private_company():
print("we do what private companies do")
def choose_company():
ans = input("Is the target company public?")
if ans == 'y':
return public_company # no parens
else:
return private_company # no parens
if __name__ == '__main__':
# assign the returned function to selected_company
selected_company = choose_company()
# calling selected_company() will call the selected function
selected_company() # use parens, this is a function call!https://stackoverflow.com/questions/69893354
复制相似问题