我对Python很陌生,目前正在学习函数。我用一个恒定的比率数和“英里”的恒定值编码英里到公里的转换--这是代码。
mile=12
def distance_con(mile):
km = 1.6 * mile
print(km)
return km
result=distance_con(mile)
print(result)但我注意到,如果我从函数中删除“返回公里”,同时也删除result=distance_con(英里)
mile=12
def distance_con(mile):
km = 1.6 * mile
print(km)
print(km)我得到了以下错误"NameError: name 'km‘未定义“用于评估函数调用的结果,其中函数没有返回”
请帮助我理解为什么nameError,因为km在函数中被定义为1.6*英里,并且还分配函数调用错误的结果。
我想了解何时以及如何使用def_func和任何其他材料来帮助我理解python。
发布于 2022-11-22 01:58:22
您在print(km) km中得到的错误是在函数范围内定义的,因此您不能访问您创建的函数之外的函数。
在python中,我们创建了一个变量的作用域,请参阅https://www.datacamp.com/tutorial/scope-of-variables-python获得更多信息
发布于 2022-11-22 02:03:48
您正在尝试打印全局命名空间中未在全局命名空间中定义的内容。
变量km只存在于函数的范围内。您的代码没有引用该函数,因此它的执行方式与函数不存在的情况没有什么不同,如下所示:
mile = 12
print(km)由于km从未在函数之外定义,这是一个错误。
https://stackoverflow.com/questions/74526696
复制相似问题