python基础——异常处理、递归】的更多相关文章

十四. Python基础(14)--递归 1 ● 递归(recursion) 概念: recursive functions-functions that call themselves either directly or indirectly in order to loop. 最大递归层数: the default maximum recursion depth in Python is 997. 限制条件: 一定有一个分支不调用自身 修改最大递归层数: import sys sys.se…
异常处理 while True: try: num1 = int(input('num1:')) num2 = int(input('num2:')) result = num1 + num2 except ValueError as e: #捕获ValueError print(e) except Exception as e: #捕获所有错误 print(e) else: #不出异常则执行else,可选项非必要 print('else') finally: #无论是否出现异常,都要执行fin…
一.错误和异常 程序中难免出现错误,而错误分成两种 1.1.语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) #语法错误示范一 if #语法错误示范二 def test: pass #语法错误示范三 class Foo pass #语法错误示范四 print(haha 1.2.逻辑错误 示例1: #用户输入不完整(比如输入为空)或者输入非法(输入不是数字) num=input(">>: ") int(num) 示例2: #无法完成计算 r…
在函数内部,可以调用其他函数,如果一个函数在内部调用自身本身,这个函数就是递归函数.递归效率低,需要在进入下一次递归时保留当前的状态,解决方法是尾递归,即在函数的最后一步(而非最后一行)调用自己,但是python又没有尾递归,而且 对递归的层级做了限制递归特性:1.必须有一个明确的结束条件2.每次进入更深一层递归时,问题规模比上次递归都应有所减少3.递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每 当…
什么是异常? 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行. 一般情况下,在Python无法正常处理程序时就会发生一个异常. 异常是Python对象,表示一个错误. 当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行. 异常处理 捕捉异常可以使用try/except语句. try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理. 如果你不想在异常发生时结束你的程序,只需在try里捕获它. 语法: 以下为简单的try.…
python常见的异常类型? 异常有很多种类型,常见的由语法错误(SyntaxError).类型错误(TypeError).名字错误(NameError)等等,但我们要知道的是异常本身就是一个类的实例,所有的异常都继承于这个BaseException,在这个父类上又下分了下面四大类: SystemExit   python退出异常 KeyboardInterrupt   键盘打断(ctrl+c) GeneratorExit    生成器退出 Exception   普通异常 我们常见的pytho…
一 递归 1. 必须有一个明确的结束条件2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧.由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出) 注:栈遵循先进后出,先吃后拉原则. 递归能干得事,while True都能干. 查看和修改栈的大小: >>> import sys >&g…
递归函数: 什么是递归函数? 函数递归调用:在调用一个函数的过程中,又直接或间接地调用了该函数本身. 递归必须要有两个明确的阶段: ①递推:一层一层递归调用下去,强调:每进入下一层问题规模减少 ②回溯:递归必须要有一个明确的结束条件,在满足该条件时,结束递推,开始一层一层回溯 递归的精髓在于通过不断地重复逼近一个最终的结果 递归的应用: 二分法: l=[1,2,10,30,33,99,101,200,301,311,402,403,500,900,1000] #从小到大排列的数字列表 def s…
函数递归 概念:直接或间接地重复调用函数本身,是一种函数嵌套调用的表现形式. 直接调用:在函数内部,直接调用函数本身 def foo(): print("这是foo函数") foo() foo() # 进入死循环 间接调用:两个函数之间相互调用间接造成递归 def a_func(): print("这是a_func函数") b_func() def b_func(): print("这是b_func函数") a_func() a_func() 话…
1.递归函数 定义:自己调用自己的函数递:去归:回有去有回是递归#(1)简单的递归函数def digui(n):    print(n)    if n > 0:        digui(n-1)    print(n) digui(5)'''代码解析:去的过程:n = 5print(5) 5>0 digui(5-1) => digui(4) 执行到第12行,自己调用自己,代码暂定在12行,发生阻塞print(4) 4>0 digui(4-1) => digui(3) 执行…