
当调用一个函数并期望使用其返回值时,必须将该返回值显式赋给变量;仅调用函数(如 convert(time))不会自动将返回值绑定到同名变量或使其在作用域中可用。
在你的代码中,convert(time) 确实正确计算并返回了浮点数(例如 "7:30" 返回 7.5),但你并未将这个返回值保存下来——而是直接执行了 print(conversion),而此时局部变量 conversion 在 main() 函数内部根本未被定义,因此触发 NameError: name 'conversion' is not defined。
✅ 正确做法是:用变量接收返回值,再使用它:
def main():
time = input("What time is it? ")
conversion = convert(time) # ← 关键:赋值接收返回值
print(conversion) # ← 此时 conversion 已定义且持有结果
⚠️ 注意事项:
Python 环境工具专业版功能概述Python 环境工具专业版是一项面向实际任务的技能。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。核心要点使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。执行完成后建议检查结果是否符合预期,并保留必要记录。使用与执行同时注意输入完整性、执行条件和输出可用性。从功能定位来看,该技能
- conversion 是 convert() 函数内部的局部变量,作用域仅限于该函数内;它不会“泄漏”到 main() 中。
- 函数调用本身(如 convert(time))是一个表达式,其求值结果就是返回值,但若不赋值、不传参、不参与运算,该结果会被立即丢弃。
- 你已经熟练运用了这一机制:time = input(...) 就是把 input() 的返回值赋给 time——对 convert() 同理即可。
? 小技巧:你可以一步完成调用与打印,无需中间变量(适用于简单场景):
print(convert(time)) # 直接打印函数返回值
但推荐显式赋值(如 conversion = convert(time)),既增强可读性,也便于后续调试、校验或复用该值。这是 Python 函数式编程的基本实践,也是避免作用域误解的关键习惯。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










