当前位置:   article > 正文

python not is函数_错误名称错误:Python中未定义名称“xxx”,对,NameErrornamexxxisnotdefined,进行,总结...

nameerror: name 'pywifi' is not defined

最近在使用python过重遇到这个问题,

NameError: name 'xxx' is not defined

,在学习python或者在使用python的过程中这个问题大家肯定都遇到过,在这里我就这个问题总结以下几种情况:

声明:这只针对python初学者,python大牛请自动略过。。。

情况一:要加双引号(" ")或者(’ ')而没加

代码中

要加双引号(" ")或者(’ ')而没加

的可能会出现这种问题,这种情况要么自己手残你给忘了,要么。。。。你懂的。。。。

情况二:字符缩进格式的问题

代码中

字符缩进格式的问题

,要么是你使用Tab键或者空格键手残了多打了,要么是代码中根本没有字符缩进,那就更不可原谅了。见如下代码:

正确的代码如下:

def askURL(url):

request = urllib.request.Request(url)

try:

response = urllib.request.urlopen(request)

html = response.read()

except urllib.error.URLError as e:

if hasattr(e, "code"):

print(e.code)

if hasattr(e, "reason"):

print(e.reason)

return html

可你的偏偏却是这样的:

def askURL(url):

global html

request = urllib.request.Request(url)

try:

response = urllib.request.urlopen(request)

html = response.read()

except urllib.error.URLError as e:

if hasattr(e, "code"):

print(e.code)

if hasattr(e, "reason"):

print(e.reason)

return html

这不向你报错向谁报错。。。。。

以上两种情况不可原谅。。。。

情况三:

if __name__=='__main__' :

没有和

class类

进行对齐

if __name__=='__main__' :

要和

class类

进行对齐,不然也可能出现这样的问题。如下:

正确如下:

class func(object):

def f(self):

return "hello word"

if __name__=='__main__' :

print(func().f())

错误如下:

class func(object):

def f(self):

return "hello word"

if __name__=='__main__' :

print(func().f())

__name__=='__main__'

是python脚本文件运作的开端,所以要顶头写。

情况四:NameError: name ‘file’ is not defined

问题

file_name = "./movie.xlsx"

fp = file(file_name, 'wb')

在使用

file函数

时遇到:

NameError: name 'file' is not defined

原因

:python版本已经升级,对函数的使用会有变化。

解决:

file函数

改为

open函数

fp = file(file_name, 'wb')

修改为

fp = open(file_name, 'wb')

情况五:NameError: name ‘模块’ is not defined

该导入的模块没导入

,在调用时也会出现这样的问题:

以下代码使用了

urllib

模块:如果没有

import urllib

那肯定出错

def askURL(url):

request = urllib.request.Request(url)

try:

response = urllib.request.urlopen(request)

html = response.read()

except urllib.error.URLError as e:

if hasattr(e, "code"):

print(e.code)

if hasattr(e, "reason"):

print(e.reason)

return html

没有使用

import urllib

报错:

20200418182040317.png

情况六:NameError: name ‘

reload

’ is not defined

解决NameError: name ‘

reload

’ is not defined 的问题

import sys

reload(sys)

sys.setdefaultencoding("utf-8")

出现错误:

NameError: name 'reload' is not defined

原因:

对于 Python 2.X:

import sys

reload(sys)

sys.setdefaultencoding("utf-8")

对于低于Python 3.3版本的:

import imp

imp.reload(sys)

对于高于 Python 3.4版本的:

import importlib

importlib.reload(sys)

注意:

Python 3 与 Python 2 默认编码有区别,Python 3 默认使用的编码就是utf-8编码,而且Python 3 的 sys 模块库里面已经没有 setdefaultencoding() 这个函数了

情况七:全局变量的问题

问题:

第一函数中使用了html变量:

def askURL(url):

request = urllib.request.Request(url)

try:

response = urllib.request.urlopen(request)

html = response.read()

except urllib.error.URLError as e:

if hasattr(e, "code"):

print(e.code)

if hasattr(e, "reason"):

print(e.reason)

return html

第二个函数中也用到了html变量:

def getData(baseurl):

...

for i in range(0, 10):

url = baseurl + str(i * 25)

html_m = askURL(url)

soup = BeautifulSoup(html_m, "html.parser")

...

由于没有重新html进行定义,出现如下问题:

20200418183930299.png

解决:

在html第一次出现的的地方(第一个函数里),用python自带的

global函数

把它变成全局变量。

def askURL(url):

global html# #将html变成全局变量

request = urllib.request.Request(url)

try:

response = urllib.request.urlopen(request)

html = response.read()

except urllib.error.URLError as e:

if hasattr(e, "code"):

print(e.code)

if hasattr(e, "reason"):

print(e.reason)

return html

情况八:两个.py文件的函数或类调用问题

一个.py文件要调用另一个.py文件中的函数或者类时,需要添加该代码文件所在路径,否则会报“

NameError: name 'XXX' is not defined

”的错误。

比如在编写的代码中需要使用另外一个代码文件tool.py的一个函数 ,那么只用在头文件下输入如下语句:

import sys

sys.path.append('../')

import tool

能够出现NameError: name ‘xxx’ is not defined问题的大致都在这,遇到问题时首先先检查一下是否自己代码书写有问题,其次找找是不是模块没导入或者定义,最后可能就是自己写的代码有逻辑问题。

如果出现的问题以上没有可加wx:happy96wyj进行交流

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3l3c3lkd3Nibg==,size_16,color_FFFFFF,t_70#pic_center

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/619956
推荐阅读
相关标签
  

闽ICP备14008679号