• NameError: name “ ” is not defined


    NameError: name “ ” is not defined

    问题一:name ‘name’ is not defined

    "name"两端是双下划线"_",不是只有一个""。

    问题二:name 'messagebox' is not defined

    “ ” 内为某个数据库的子module。

    在代码中加上如下语句:

    from tkinter import messagebox

    默认情况下子module不会自动import。

    问题三:name 'reload' is not defined.

    对于 Python 2.X
    import sys
    reload(sys)
    sys.setdefaultencoding("utf-8")
    对于 Python 3.3
    import imp
    imp.reload(sys)

    注意:

    1. Python 3 与 Python 2 有很大的区别,其中Python 3 系统默认使用的就是utf-8编码。

    2. 所以,对于使用的是Python 3 的情况,就不需要sys.setdefaultencoding("utf-8")这段代码。

    3. 最重要的是Python 3 的 sys 库里面已经没有 setdefaultencoding() 函数了。

      对于 Python 3.4:
    import importlib
    importlib.reload(sys)

    问题四:name 'file' is not defined

      f = file('poem.txt', 'w') # open for 'w'riting
    NameError: name 'file' is not defined

    解决办法:file()改为open()

    问题五:name 'array' is not defined

    区分array和list,弄清楚道题想要啥类型;加载array模块。

    from array import array

    问题六: name 'xx' is not defined

    IndentationError:expected an indented block

    问题在于tab和空格混用导致出现了问题。

    问题七:name 'math' is not defined

    from math import *

    改为

    import math

    问题八:python2中input出现的name“ ” is notdefined.

    Python 2.X中对于input函数来说,它所希望读取到的是一个合法的Python表达式,即你在输入字符串的时候必须要用""将其扩起来;而在Python 3中,input默认接受的是str类型。

    解决办法:1、在控制台进行输入参数时,将其变为一个合法的Python表达式,用" "将其扩起来

    2、使用raw_input,因为raw_input将所有的输入看作字符串,并且返回一个字符串类型。

  • 相关阅读:
    SpringCloud-技术专区-Gateway基于OAuth2.0 的身份认证
    Jaeger-实践处理相关计划
    Jaeger-3.实现一个分布式调用(OkHttp+SpringBoot)
    Jaeger-2.客户端使用 (Java版本)
    分布式-技术专区- Pinpoint部署手册
    分布式-技术专区-APM监控系统服务跟踪技术选型参考
    Skywalking集成springcloud分布式链路追踪
    Spring-框架专区
    22Spring基于配置文件的方式配置AOP
    21Spring重用切点表达式
  • 原文地址:https://www.cnblogs.com/zyh19980816/p/11942874.html
Copyright © 2020-2023  润新知