python - 为什么以下 python 代码打印 4 行而不是 3 行?
问题描述
def beauty():
print("Belle")
return "Beast"
def gaston():
if beauty() == "Beast":
print("No one’s as slick")
elif beauty() == None:
print("No one’s as quick")
if beauty() == "Belle":
print("What a guy")
else:
print("Belle")
gaston()
谁能解释一下为什么上面的代码打印 4 行而不是 3 行?
解决方案
当您检查 ifbeauty()
是否等于 时text
,正在调用该函数。而且你有多个if/elif
语句......所以油膏被多次调用。所以我建议调用一次函数并将其存储在一个变量中。
def beauty():
print("Belle")
return "Beast"
def gaston(butty):
if butty == "Beast":
print("No one’s as slick")
elif butty == None:
print("No one’s as quick")
if butty == "Belle":
print("What a guy")
else:
print("Belle")
butty = beauty()
gaston(butty)
推荐阅读
- vuejs2 - vuetify:单击时停止父动画
- sql - 如何计算条件在R中以分钟为单位找到两个DateTime之间的差异
- c# - VS 2019 调试时编辑
- flutter - 颤振加载页面不起作用/路由功能不起作用
- kubernetes - Grafana 在 Kubernetes Slack Webhook 中运行错误 502
- python - 更改 Pandas 数据框中的值,但保留日期列
- c++ - boost::bimap 在使用自定义结构作为键时发现错误的条目,为什么?
- c# - 使用 where 子句获取数据
- java - SQLGrammarException:尝试从数据库中删除时无法执行语句
- java - 录制后清空文件并在 1-2 秒后关闭移动设备