期末复习(1)

本文介绍了Python中的异常处理机制,包括异常的概念、try-except语句的使用,以及如何捕获和处理不同类型的错误。此外,还讨论了函数的可变长度参数、变量作用域(全局和局部)和特殊函数如匿名函数。数据结构部分则提到了列表的创建和操作。
摘要由CSDN通过智能技术生成

一、第六章 异常处理

1、什么是异常,什么是异常处理 
  异常是指程序在运行过程中发生的错误事件,影响程序的正常执行,异常并不是一定会发生,
默认情况下,程序运行中遇到异常时将会终止,并在控制台打印出异常出现的堆栈信息。
  异常处理是指程序设计时为了避免因异常而导致程序终止而做的一些额外操作。异常处理可以
使得异常出现后,程序仍然可以执行。

In [1]:

print(a)   #未定义变量
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_3316\3171637920.py in <module>
----> 1 print(a)

NameError: name 'a' is not defined

In [2]:

a = input('请输入一个整数:')
12/a      #数据类型错误
请输入一个整数:0
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_3316\2856857755.py in <module>
      1 a = input('请输入一个整数:')
----> 2 12/a

TypeError: unsupported operand type(s) for /: 'int' and 'str'

In [3]:

a = int (input('请输入一个整数:'))
12/a   #
请输入一个整数:0
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_3316\2870666741.py in <module>
      1 a = int (input('请输入一个整数:'))
----> 2 12/a

ZeroDivisionError: division by zero

In [ ]:

print('ok')    #语法错误:SyntaxBrror

2、如何处理异常

Python中通常将可能发生异常的代码放在try语句中,如果发生异常则通过except语句来捕获异常并对做一些额外
处理,如果没有发生异常则执行后面的else语句,最后执行finally语句做一些收尾操作。Python中还提供了raise语句
允许用户主动抛出异常,raise关键字后面需要提供一个异常实例或者异常类,如果传递的是异常类,则会调用无参数的
构造方法来实例化对象。如果捕获到了异常,但是暂时不处理,可以直接通过raise语句撤出异常,此时raise关键字
后面什么都不用写。

In [11]:

a = int (input('请输入一个整数:'))
try:
    b = 12/a
except:
    if a == 0:
        print('ZeroDivisionError:除数不能为0!')
else:
    print('a = ',a)
finally:
    print('b = ',b)
请输入一个整数:0
ZeroDivisionError:除数不能为0!
b =  12.0

In [12]:

#实例:定义一个函数,验证密码字符串长度是不是为6—10,不符合要求时抛出异常。(设置密码验证)
def check_str(content):
    if (len(content)<6 or len(content)>12):
        raise ValueError('长度应在6—12位之间,当前长度为:'+str(len(content)))
    else:
        print('长度符合要求')
        
ss = input('请输入一个长度在6—12位之间的密码字符串')
check_str(ss)
请输入一个长度在6—12位之间的密码字符串66666666
长度符合要求

二、第六章 函数 1、函数类型 可变长度参数是指函数定义时,无法确定参数的个数。例如系统中的print函数,不确定

In [20]:

def fun_1(a,*b):
    print(a)
    print(b)

In [21]:

fun_1(10,10)
10
(10,)

In [22]:

def fun_2(a,**b):
    print('a = ',a)
    print('b = ',b)

In [23]:

fun_2(10,e = 10,f = 20,c = 30,d = 40)

a = 10
b = {'e':10, 'f':20, 'c':30, 'd':40}
a =  10
b =  {'e': 10, 'f': 20, 'c': 30, 'd': 40}

In [ ]:

2、变量作用域
根据变量定义的位置,可将变量分为全局变量和局部变量

In [26]:

def test():
    a=8
    print(a)
    
a = 10
test()
print('a =',a)
8
a = 10

In [ ]:

3、特殊函数
匿名函数

In [28]:

test =lambda x,y,z:x+y+z

In [29]:

test(10,20,100)

Out[29]:

130

In [30]:

def test (x,y,z):
    return x+y+z
test(10,20,30)

Out[30]:

60

In [ ]:

三、数据结构

In [34]:

list = [5,7,5,98,5,4,78]

In [50]:

list

Out[50]:

[5, 7, 5, 98, 5, 4, 78]

In [51]:

list.index(5)

Out[51]:

0

In [52]:

list[0]

Out[52]:

5

In [54]:

list[2:4]

Out[54]:

[5, 98]

In [ ]:


                
  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值