Python(5)

异常

异常是一种运行时的错误,通常是由于程序的运行状态超出了程序员所掌控的范围。

常见的异常

AttributeError 向一个对象发起了不可用的功能请求

(3,2,1).sort    #元组不能进行更改,无sort方法

FileNotFoundError 请求的文件不存在或不再指定位置
importError import语句无法找到请求的模块
IndexError 索引越界
KeyError 字典中没有该键
NameError 变量的值无法找到
TypeError 一个函数或一个操作符收到的参数类型错误

x = len(23)  #len()是对于字符串的操作

ValueError 函数或操作符收到的参数类型正确,但是值不正确

x = int('a')  #error

ZeroDivisionError 在除法或取余操作中第二个操作数为0

num = 1/0  #error

try语句

python会首先去执行try语句块,如果异常发生,则跳到except子句

try:
 #如果用户在此处不进行输入则会发生异常,因为输入的空字符串无法转换为一个整数
    num = int(input("Enter number of dependents:")) 
except ValueError:
    print("\nYou did not respond with an integer value.\n")
    print("We will assume your answer is 0\n")
    num = 0
sum = 1000*num   
print("sum:",sum)

注:不论是否发生异常,最后两条语句都会被执行。

except类型

一个try语句可以包含几个except子句,下面是三种except子句类型

  • except:发生任何异常都会执行这个语句块的内容。
  • except ExceptionType:只有发生了特定类型的异常才执行这个语句块的内容。
  • except ExceptionType as exp: 只有发生了特定类型的异常才执行这个语句块的内容,问题的附加信息赋值给了exp变量。
  • 一个单独的except子句可以涉及多种错误类型,如果是这样的话,错误名称需要在元组中列出来,except (ValueError,NameError) as exc:。

生成随机数

random模块中的函数

如果L是一个列表
random.choice(L) 从L中随机选择一个元素
random.sample(L,n) 将会创建一个列表,其中包含从L中随机选取的n个元素
random.shuffle(L) 将会随机重排L中的元素
random.randint(m,n) 将会从m~n中随机选择一个整数


   转载规则


《Python(5)》 fightingtree 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录