我的if语句的这一部分调用该find_feed
函数,它返回None
,if语句完成,但是,如果它返回其他任何内容,则else语句重新调用该函数:news_feed = feedparser.parse(find_feed(user_input))
我不想一次调用该函数(因为要花一点时间才能完成),所以我想调用一次,如果它没有返回None,请在else语句中使用返回的值,而不是再次调用该函数。我可以这样做吗?如果可以,怎么办?
elif find_feed(user_input) is None:
print("No location found.")
else:
print("Pulling weather data from Environment Canada.")
news_feed = feedparser.parse(find_feed(user_input))
brief_current()
more_question = input("\n" + "Would you like more details? (y or n) ")
if more_question == "y":
detailed_current()
从Python 3.8中的PEP 572开始,您还可以将if
语句与赋值结合使用,因此您不必提前创建变量:
elif (unparsed_news_feed := find_feed(user_input)) is None:
print("No location found.")
else:
print("Pulling weather data from Environment Canada.")
news_feed = feedparser.parse(unparsed_news_feed)
brief_current()
more_question = input("\n" + "Would you like more details? (y or n) ")
if more_question == "y":
detailed_current()
虽然在这里我建议交换两个分支和反相is None
,以is not None
使unparsed_news_feed
在其对应的分支仅使用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句