首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python内置异常你知道那些,欢迎留言评论~~~

Python所有实例必须是从BaseException派生实例。通过子类不相关两个异常类,即使它们具有相同名称,也永远不会等效。内置异常可以由解释内置函数生成。...错误发生时,Python中会引发一些内置异常。...当解释检测到超过最大递归深度时,将引发此异常。 异常ReferenceError 当在垃圾回收之后使用弱引用代理访问引用对象属性时,引发ReferenceError。...它返回一个字符串,指示确切错误。 异常StopIteration 内置函数next()和迭代__next __()方法引发StopIteration错误,以表示所有项目都是由迭代产生。...err.text) print err 输出: Syntax error (1-9): 软件测试test invalid syntax (, line 1) 异常SystemError 当解释发现内部错误时

2.9K10
您找到你想要的搜索结果了吗?
是的
没有找到

Python内置异常类型全面汇总

内置异常基类 在 Python 中,所有异常必须为一个派生自 BaseException 实例。 通过子类化创建两个不相关异常类永远是不等效,既使它们具有相同名称。...+-- SystemExit 解释请求退出 +-- KeyboardInterrupt 用户中断执行(通常是输入^C) +-- GeneratorExit 生成器...-- EOFError 没有内建输入,到达EOF 标记 +-- ImportError 导入失败 | +-- ModuleNotFoundError 找不到模块...+-- RuntimeError 一般运行时错误 | +-- NotImplementedError 尚未实现方法 | +-- RecursionError 解释检测到超出最大递归深度...+-- SystemError 一般解释系统错误 +-- TypeError 对类型无效操作 +-- ValueError 传入无效参数 | +-- UnicodeError

1.5K10

Python命名空间和作用域(1)

内置命名空间 内置命名空间包含Python所有内置对象名称。当Python运行时,这些可以直接使用。...解释在启动时直接创建内置命名空间,并且这个命名空间一直存在,直到解释终止。...例如代码中引用名称x,那么Python将按照以下顺序搜索x: 本地作用域:如果你在一个函数中引用x,那么解释首先在该函数本地最内部作用域内搜索它。...内置作用域:如果在其他地方找不到x,那么解释将尝试内置作用域。 ? 这是Python文献中通常所称LEGB规则(尽管Python文档中并没有实际出现这个术语)。...解释从内到外搜索名称,查找本地、闭包、全局,最后是内置作用域。 如果解释在这些位置中找不到名称,那么Python将抛出NameError异常。 下面是LEGB规则几个例子。

86610

python虚拟环境模块venv使用及示例

发现 发现这个配置是用来查找目标Python解释,当你创建虚拟环境时候,你虚拟环境以哪个Python解释版本作为模板来创建呢?这个时候就需要用到发现这个组件来查找了。...对应选项有: –discovery {builtin} 解释发现方法,默认值builtin,即内置发现组件。现在好像只有这一个可以选择。也就是说,这个选项目前对于普通用户来说没什么用。...除非你能够自己实现一个发现组件。 -p py, –python py,用于创建虚拟环境目标python解释,即以这个参数指定python解释版本来创建虚拟环境。...默认值是你当前安装virutalenvpython解释。它有两种格式,分别是: I. python解释绝对路径。...它对应选项有: –creator {builtin, cpyhon3-win, venv},即通过哪个python解释来创建虚拟环境,默认是builtin,即安装virtualenvpython版本

2.2K10

python基础教程:模块高级技巧

在上一节中有一句话“接着我们在这个文件所在目录运行Python解释IPython”,不知道大家还记不记得。...Python模块搜索路径 当一个名为mylib模块被导入时,解释首先搜索内置模块是不是有该名字模块。 如果没有找到,接着搜索sys.path列出目录下面是不是有名为mylib模块。...这是因为,当交互式运行Python解释时(或者脚本是从标注输入读取),可以认为传给解释脚本文件路径为空,那么就把sys.path[0]设置为空字符串,它告诉Python搜索模块时先从当前文件夹开始...其中一些模块内置解释中,它们提供对不属于语言核心但仍然内置操作访问,以提高效率或提供对系统调用等操作系统原语访问。这些模块集合是一个配置选项,它也取决于底层平台。...一个值得注意模块是sys,它内置于每个Python解释中。 Python标注模块会在我们今后编程中不断遇到和使用,具体学习可以在今后用到时再学习。

76610

Python 基础(十四):错误和异常

我们编写程序通常使用开发工具编写,比如:我使用 Pycharm 工具编写 Python 程序,像这种语法错误,在编写程序时,编译就会检测出来并提示我们,因此,我们编写好程序几乎不会出现这种问题。...Python 内置异常 我们先来看一下异常层次结构: BaseException +-- SystemExit +-- KeyboardInterrupt +-- GeneratorExit +...详细说明可以查看下面列表: 异常名称 描述 BaseException 所有异常基类 SystemExit 解释请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception...) KeyError 映射中没有这个键 MemoryError 内存溢出错误(对于Python 解释不是致命) NameError 未声明/初始化对象 (没有属性) UnboundLocalError...尚未实现方法 SyntaxError Python 语法错误 IndentationError 缩进错误 TabError Tab 和空格混用 SystemError 一般解释系统错误 TypeError

1.4K20

Python基础知识图谱“小白篇” | 附宝典下载 | 算法基础(14)

1.干货来了 这里我们将Python基础知识梳理成图谱,一图了然入门Python需要掌握知识点,真正入门还是要一步步刷代码才行,编程没有捷径,代码量是水平基本保障,就像开车一样,唯手熟尔。 ?...交互式及while循环 6.函数,执行特定任务代码块 7.类,模拟实物 8.使用文件及异常处理 9.代码测试 2.Python之禅 Pthon社区理念都包含在Tim Peters撰写Python...要获得这些圭臬经验,只需要在Python解释中执行命令import this就可以获得了。分享给大家共勉。 ?...翻译和解释 Python之禅 by Tim Peters 优美胜于丑陋(Python 以编写优美的代码为目标) 明了胜于晦涩(优美的代码应当是明了,命名规范,风格相似) 简洁胜于复杂(优美的代码应当是简洁...3.扩展资料 Python学习宝典:Learn Python3 The Hard Way “ LPTHW宝典下载,公众号回复:20181024 ” LPTHW官网:https://learnpythonthehardway.org

45910

python3.7 新特性

一处可能无法向后兼容变更涉及处理生成器中异常。 面向解释“开发模式”。 具有纳秒分辨率时间对象。 环境中默认使用UTF-8编码UTF-8模式。 触发调试一个新内置函数。...这意味着如何处理生成器行为方面不太敏锐一些程序会在Python 3.7中抛出RuntimeError。...Python开发模式 Python解释命令行开关:-X让开发人员可以为解释设置许多低级选项。...内置breakpoint()函数 Python随带内置调试,不过它也可以连入到第三方调试工具,只要它们能与Python内部调试API进行对话。...不过,Python到目前为止缺少一种从Python应用程序里面以编程方式触发调试标准化方法。 Python 3.7添加了breakpoint(),这个内置函数使得函数被调用时,让执行切换到调试

1.9K30

Python 协程

迭代 可迭代(Iterable):直接作用于for循环变量 迭代(Iterator):不但可以作用于for循环,还可以被next调用 list是典型可迭代对象,但不是迭代 通过isinstance...函数确定,该函数会返回下述字符串中一个: GEN_CREATED:等待开始执行 GEN_RUNNING:解释正在执行 GEN_SUSPENED:在yield表达式处暂停 GEN_CLOSED:执行结束...内置 None 和 Ellipsis 等常量经常用作哨符值==。...新增库 类似其他语言线程池概念 利用multiprocessiong实现真正并行计算 核心原理:以子进程形式,并行运行多个python解释,从而令python程序可以利用多核CPU来提升运行速度...由于子进程与主解释相分离,所以他们全局解释锁也是相互独立。每个子进程都能够完整使用一个CPU内核。

1.5K127

命名空间和作用域

解释会从命名空间中查找runoob,它先从局部空间查找,如果找到了它就会使用局部命名空间变量runoob,即使全局命名空间也有变量runoob。...(内置名称空间在 Python 解释启动时就创建了,直到 Python 解释退出时内置名称空间才失效。...这使得我们可以在程序任何位置使用内置名称空间内名称,例如,id(),print()等函数。 模块名称空间当模块被引用时创建,直到 Python 解释退出时模块名称空间才失效。...(当在函数内部使用一个名称时,为了查找出该名称所引用对象,Python 解释先在函数名称空间查找,接着在模块名称空间查找,最后在内置名称空间查找,直到寻找到该名称为止。...在局部找不到,便会去局部外局部找(例如闭包),再找不到就会去全局找,再者去内置中找。  如下:  # Python 一个内建值 int,我们首先将其赋值为 0,然后定义一个函数 fun1()。

1.1K30

大神用Python编写虚拟机解释

):Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令 GVim:非常好用编辑,最简单用法可以参考课程Vim编辑 环境使用 众所周知,python语言作为一门超级人性化语言越来越被受到重视...虚拟服务同样受到人们重视,那么本次项目的目的就是让大家学会使用python制作一个虚拟解释,这里虚拟解释指的是一定意义上堆栈机。...得益于Python动态类型,因此我们可以往列表里面存储任何东西,但是我们不能区分列表里面的内置函数和字符串,正确做法是将Python内置函数单独存放于一个列表,关于这个问题大家可以思考一下。...但是在这之前,我们需要创建一个解释循环: def run(self): while self.instruction_pointer opcode = self.code[self.instruction_pointer...然而并没有完,环境搭建好了,最重要'解释'还没有完成,一个语言解释包括两部分: 解析:解析部分接受一个由字符序列表示输入指令,然后将输入字符分解成一系列词法单元 执行:程序内部解释根据语义规则进一步处理词法单元

83080

Python3 常见错误和异常处理

Python3常见错误 异常名称 描述 解决方法 BaseException 所有异常父类 Python所有的错误都是从BaseException类派生,是所有异常父类 SystemExit 解释请求退出...所有数值计算错误基类 \ FloatingPointError 浮点计算错误 这个错误由导致错误浮点操作产生,前提是已经打开了浮点异常控制(fpectl),启用fpectl时,要求编译解释提供...MemoryError 内存溢出错误(对于Python 解释不是致命) 如果一个程序用尽了所有内存,而且可以恢复,会产生 NameError 未声明/初始化对象 (没有属性) 如果代码引用了一个名字...)试图访问已经垃圾回收了对象 使用一个weakref代理访问已经被垃圾回收对象时,会产生 RuntimeError 一般运行时错误 如果没有其他更特定异常可用,就要使用RuntimeError异常...如果错误发生在解释本身,会产生 TypeError 对类型无效操作 使用+拼接时候 必须使用字符串,或者将数字转化成字符串 ValueError 传入无效参数 如果一个函数接收到值类型正确,但是值不合法时产生

1.5K20

Python 入门第十八讲】Try Except应用

语法错误逻辑错误(异常)一些常见异常错误是: IOError: 如果文件打不开KeyboardInterrupt: 当用户按下不需要键时ValueError: 当内置函数收到错误参数时EOFError...: 如果命中文件末尾而不读取任何数据ImportError: 如果找不到模块语法错误当未遵循该语言正确语法时,就会引发语法错误。...ImportError当找不到导入模块时,会发生此事件。KeyError当找不到字典键时,会发生这种情况。NameError当变量未定义时,会发生这种情况。...例如# 一个用于创建用户定义异常 Python 程序# 类 MyError 派生自超类 Exceptionclass MyError(Exception): # 构造函数或初始化 def...# NetworkError 基于 RuntimeError 而不是 Exceptionclass Networkerror(RuntimeError): def __init__(self, arg

25120

一次小折腾:PyCharm 调用 Cygwin Python 找不到 time、sys 等内置模块

搜了下 SF 发现了答案: 原来 windows 下这些内置模块都是 C 写,是没有 time.__file__ 属性,也就是看不到源码,而在linux下则会指向一个 .so 文件。...当解释是 Cygwin 版本时,time....然而 Pycharm 中加载 Cygwin 版本解释虽然报错提示找不到模块,但是真正执行时候是没有问题,因为相应模块都以 .dll 形式提供了,只是 Pycharm 无法直接静态分析该版本 python.exe...,而导致“看起来找不到内置模块”,因此才会出现了 IDE 静态分析提示错误,但是能执行成功现象。...而且这两个版本解释对调用执行基础模块、函数 都是没有问题

4K100

5年 Python 功力,总结了 10 个开发技巧

'/home/wangbm/.local/lib/python3.7/site-packages' (exists) ENABLE_USER_SITE: True 从输出你可以发现,这个列路径会比...为了实现这个需求,Python 3.2 + 中给我们提供了一个机制,可以很方便实现,而不需要你去写这样逻辑代码。 这个机制实现于 functool 模块中 lru_cache 装饰。...在程序退出前执行代码技巧 使用 atexit 这个内置模块,可以很方便注册退出函数。 不管你在哪个地方导致程序崩溃,都会执行那些你注册过函数。 示例如下 ?...如果clean()函数有参数,那么你可以不用装饰,而是直接调用atexit.register(clean_1, 参数1, 参数2, 参数3='xxx')。...在 Python 可以使用 上下文管理 达到这种效果 import contextlib def callback(): print('B') with contextlib.ExitStack

56410

Python基础之:Python异常和错误

简介 和其他语言一样,Python中也有异常和错误。在 Python 中,所有异常都是 BaseException 实例。 今天我们来详细看一下Python异常和对他们处理方式。...Python内置异常类 Python中所有异常类都来自BaseException,它是所有内置异常基类。...异常 即使我们程序符合python语法规范,但是在执行时候,仍然可能发送错误,这种在运行时发送错误,叫做异常。...: Failed to open database 上面的例子中,我们在捕获IOError之后,又抛出了RuntimeError,通过使用异常链,我们很清晰看出这两个异常之间关系。...,最深刻干货,最简洁教程,众多你不知道小技巧等你来发现

1.3K30

通过内置对象理解 Python(一)

当一个变量在局部、闭包或全局作用域中找不到时,Python 会在内置作用域中寻找它。...当你想告诉 Python 解释某个类没有定义某个操作符时,就是在这个类操作符定义中使用 NotImplemented 。...解释当前操作是不受支持。...Python 冻结了这两个模块,因为它们实现了导入系统核心,因此,当解释启动时,它们不能像其他 Python 文件一样被导入。本质上,它们存在是为了引导导入系统。...字节码是用于Python虚拟机一组微指令。这个“虚拟机”是 Python 解释逻辑所在。它本质上是在本地计算机上模拟一个非常简单基于栈计算机,以便执行 Python 代码。

48910

Python 异常处理机制

语句 Python解释在运行出现异常时,会返回异常信息,告诉我们错误出现在哪一行,错误类型是什么,具体原因是什么。...下表列出了Python标准异常类型: 异常名称 描述 BaseException 所有异常基类 SystemExit 解释请求退出 KeyboardInterrupt 用户中断执行(通常是输入...序列中没有此索引(index) KeyError 映射中没有这个键 MemoryError 内存溢出错误(对于Python 解释不是致命) NameError 未声明/初始化对象 (没有属性) UnboundLocalError...尚未实现方法 SyntaxError Python语法错误 IndentationError 缩进错误 TabError Tab 和空格混用 SystemError 一般解释系统错误 TypeError...以下为与RuntimeError相关实例,实例中创建了一个类,基类为RuntimeError,用于在异常触发时输出更多信息。

60220

Python 脚本时,一定要加上这个

第一,它让 Python 文件作用更加明确 首先需要明白 __name__ 作用,当脚本直接被 Python 解释执行时,其值就是 "__main__",当其被其他 Python 程序 import...时候,其值就是对应 Python 脚本文件名,可以在 Python 解释验证下,假定有个 some_script.py 其内容如下: print("some_script.py") print(...__name__) 在 Python 解释导入一下: ❯ vim some_script.py ❯ python Python 3.8.5 (v3.8.5:580fbb018f, Jul 20 2020...,会发现程序不停在创建进程,同时也在不停报错 RuntimeError,即使你 Ctrl C 也无法终止程序。...其实我是这样理解Python 多程序就是启动了多个 Python 解释,每个 Python 解释都会导入你这个脚本,复制一份全局变量和函数给子进程用,如果有了if __name__ == "_

34110

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券