东莞住房与城乡建设网站,今天最新消息,镇江地区做网站的公司有哪些,网络规划设计师教程电子版2023前言#xff1a;
嗨喽~大家好呀#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取
通过这个解释#xff0c;我们将了解当Python程序显示类似NameError: name ‘’ is not defined的错误时#xff0c;即使该函数存在于脚本中
嗨喽~大家好呀这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取
通过这个解释我们将了解当Python程序显示类似NameError: name ‘’ is not defined的错误时即使该函数存在于脚本中也会出现这种情况。
我们还学习了当我们使用拼写错误的变量或没有导入的内置函数时会发生什么以及如何在Python中避免这些错误。
避免在Python声明之前调用函数
在Python中有很多原因会导致NameError: function is not defined我们将讨论导致此错误的最常见原因。
当我们在程序中定义函数之前调用它时Python解释器将无法找到函数定义。
在这种情况下函数将不可见Python解释器尚未遇到函数定义。
因此Python解释器会感到困惑并抛出错误这意味着该函数尚未根据解释器定义。
让我们看一个简单的例子在这个程序中我们在定义函数之前编写了一个调用语句。
由于解释器逐行执行Python程序当它开始执行第一行时它会遇到一个特定的函数调用但它不知道Hello()是什么。
Hello()
def Hello():print(I will never be called)当我们运行这个Python脚本时它会对它是否是一个函数感到困惑Python解释器会停止并抛出一个错误。
这是因为这个函数的定义在函数调用之后才出现;这就是为什么我们永远不能在定义一个函数之前调用它。 遇到问题没人解答小编创建了一个Python学习交流QQ群926207505
寻找有志同道合的小伙伴互帮互助,群里还有不错的视频学习教程和PDF电子书NameError: name Hello is not defined我们需要在调用函数之前定义它来修复这个错误。
避免在Python中使用拼写错误的变量或函数名
出现此错误的另一个原因是用户在定义函数的正确拼写时出错;这就是为什么用户得到这种类型的错误。
Python是大小写敏感的所以小写和大写将是不同的函数。
我们检查一个例子来演示解释器在得到拼写错误的变量时如何操作。
Orangeorange
for i in orange:print(i)输出
NameError: name orange is not defined当我们运行Python脚本时我们得到一个错误说’orange’ is not defined但这次我们没有犯拼写错误那么为什么即使我们定义了这个变量我们还是得到这个错误呢
这是因为我们定义了一个以大写字母开头的变量并试图用小写字母访问它。
相同的场景将应用于函数。如果我们用Orange覆盖orange变量它就可以工作。
orangeorange
for i in orange:print(i)输出
o
r
a
n
g
e避免在Python中使用没有导入的内置模块
比如说当你在写一个Python程序时如果你想使用任何内置的函数比如print()input()等你可以在代码中使用它。
当你需要使用一个不是内置在Python中的函数而是存在于某些模块中时会发生什么
要使用属于某些模块的函数必须首先将该模块导入Python程序。
一些初学者在尝试使用模块中的函数而不是导入该特定模块时会失败;
看一个例子
在这个程序中用户试图生成随机值但是当用户运行这个代码时用户得到了我们讨论过的同样的错误。
原因是用户失败了它试图访问random()函数而不导入其模块random。 遇到问题没人解答小编创建了一个Python学习交流QQ群926207505
寻找有志同道合的小伙伴互帮互助,群里还有不错的视频学习教程和PDF电子书Randome_Valuesrandom.random()
print(Randome_Values)输出
NameError: name random is not defined当用户在Python脚本中导入random模块时它会工作。
import random
Randome_Valuesrandom.random()
print(Randome_Values)输出
0.07463088966802744有时候用户自己编写Python模块但遇到了同样的问题并得到相同的错误。
这是因为用户在导入类后试图从另一个文件调用函数但可能用户没有保存定义函数的文件这就是用户出现此错误的原因。因此请确保在调用此函数之前保存它。
修复Python中的变量超出范围问题
大多数初学者失败的另一个原因是当他们试图访问范围外的变量时会得到同样的错误。让我们看一个例子我们将得到更好的理解。
def take_order():ordersinput(Enter your orders and separate it using comma :).split(,)return orders
def Delete_Orders():deleted_ordersinput(Enter your order name which you want to cancel :)orders.remove(deleted_orders)return orders
print(take_order())
print(Delete_Orders())当我们运行这个Python脚本时take_order()函数将正常工作但是当我们调用Delete_Orders()函数从orders列表中删除订单时错误发生了。
NameError: name orders is not defined这是因为orders变量是在take_order()函数中定义的我们试图从Delete_Orders()函数访问它。这就是为什么当执行控制到达我们从orders列表中删除项的位置时;它抛出一个错误因为我们正在访问它的范围之外。
为了解决这个问题我们必须声明一个存储空字符串的变量变量名为orders。之后我们需要使用global关键字我们称之为orders变量以使其可重用。
orders
def take_order():global ordersordersinput(Enter your orders and separate it using comma :).split(,)return orders
def Delete_Orders():deleted_ordersinput(Enter your order name which you want to cancel :)orders.remove(deleted_orders)return orders
#Python小白学习交流群926207505
print(take_order())
print(Delete_Orders())输出
Enter your orders and separate it using comma :pizza,drink,water
[pizza, drink, water]
Enter your order name which you want to cancel :water
[pizza, drink]尾语
最后感谢你观看我的文章呐~本次航班到这里就结束啦
希望本篇文章有对你带来帮助 有学习到一点知识~
躲起来的星星也在努力发光你也要努力加油让我们一起努力叭。 最后宣传一下呀~更多源码、资料、素材、解答、交流皆点击下方名片获取呀