首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python函数

Python函数
EN

Stack Overflow用户
提问于 2022-11-22 01:54:02
回答 2查看 47关注 0票数 0

我对Python很陌生,目前正在学习函数。我用一个恒定的比率数和“英里”的恒定值编码英里到公里的转换--这是代码。

代码语言:javascript
复制
mile=12

def distance_con(mile):
    km = 1.6 * mile
    print(km)
    return km

result=distance_con(mile)
print(result)

但我注意到,如果我从函数中删除“返回公里”,同时也删除result=distance_con(英里)

代码语言:javascript
复制
mile=12

def distance_con(mile):
    km = 1.6 * mile
    print(km)


print(km)

我得到了以下错误"NameError: name 'km‘未定义“用于评估函数调用的结果,其中函数没有返回”

请帮助我理解为什么nameError,因为km在函数中被定义为1.6*英里,并且还分配函数调用错误的结果。

我想了解何时以及如何使用def_func和任何其他材料来帮助我理解python。

EN

回答 2

Stack Overflow用户

发布于 2022-11-22 01:58:22

您在print(km) km中得到的错误是在函数范围内定义的,因此您不能访问您创建的函数之外的函数。

在python中,我们创建了一个变量的作用域,请参阅https://www.datacamp.com/tutorial/scope-of-variables-python获得更多信息

票数 1
EN

Stack Overflow用户

发布于 2022-11-22 02:03:48

您正在尝试打印全局命名空间中未在全局命名空间中定义的内容。

变量km只存在于函数的范围内。您的代码没有引用该函数,因此它的执行方式与函数不存在的情况没有什么不同,如下所示:

代码语言:javascript
复制
mile = 12

print(km)

由于km从未在函数之外定义,这是一个错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74526696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档