程序设计Python基础练习题集_第1页
程序设计Python基础练习题集_第2页
程序设计Python基础练习题集_第3页
程序设计Python基础练习题集_第4页
程序设计Python基础练习题集_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序设计Python基础练习题集姓名_________________________地址_______________________________学号______________________-------------------------------密-------------------------封----------------------------线--------------------------1.请首先在试卷的标封处填写您的姓名,身份证号和地址名称。2.请仔细阅读各种题目,在规定的位置填写您的答案。一、Python基础语法1.变量和数据类型

题目1:定义一个变量`age`并赋值为25,然后打印出该变量的值。

请在此处编写代码

题目2:声明一个变量`name`,其值为字符串"Alice",并尝试将其转换为整数类型。

请在此处编写代码

题目3:编写代码,使用`isinstance()`函数检查变量`my_list`是否是一个列表类型。

2.运算符和表达式

题目1:计算表达式`34/2%1`的结果。

请在此处编写代码

题目2:编写一个表达式,判断变量`num`是否是偶数。

请在此处编写代码

题目3:使用比较运算符比较两个字符串`str1`和`str2`,并打印出比较结果。

3.控制流程

题目1:编写一个条件语句,如果变量`score`大于等于60,则打印"Pass",否则打印"Fail"。

请在此处编写代码

题目2:使用`ifelifelse`语句,根据变量`day_of_week`的值打印出对应的星期几。

请在此处编写代码

题目3:编写一个循环,打印出从1到10的所有整数。

4.循环结构

题目1:使用`for`循环遍历列表`fruits`,打印出每个元素。

请在此处编写代码

题目2:使用`while`循环计算变量`n`的阶乘,直到`n`等于1。

请在此处编写代码

题目3:编写一个嵌套循环,打印出3x3的乘法表。

5.函数定义和调用

题目1:定义一个函数`add_numbers`,接受两个参数并返回它们的和。

请在此处编写代码

题目2:编写一个函数`greet`,接受一个名字作为参数并打印出问候语。

请在此处编写代码

题目3:定义一个函数`print_even_numbers`,使用`for`循环打印出指定范围内的所有偶数。

6.模块和包

题目1:导入`math`模块,并使用`math.sqrt()`函数计算16的平方根。

请在此处编写代码

题目2:使用`random`模块一个1到100之间的随机整数。

请在此处编写代码

题目3:导入`os`模块,并使用`os.listdir()`函数列出当前目录下的所有文件和文件夹。

答案及解题思路:

答案1:`age=25;print(age)`

解题思路:定义变量并赋值,然后使用`print()`函数输出。

答案2:`name="Alice";try:name=int(name)exceptValueError:pass`

解题思路:尝试将字符串转换为整数,如果失败则捕获异常。

答案3:`my_list=[1,2,3];isinstance(my_list,list)`

解题思路:使用`isinstance()`函数检查变量类型。

答案4:`result=34/2%1;print(result)`

解题思路:计算表达式的值并打印。

答案5:`num=10;num%2==0`

解题思路:使用模运算符检查数字是否为偶数。

答案6:`score=85;ifscore>=60:print("Pass")else:print("Fail")`

解题思路:使用`ifelse`语句根据分数判断是否通过。

答案7:`day_of_week="Monday";ifday_of_week=="Monday":print("Monday")elifday_of_week=="Tuesday":print("Tuesday")`

解题思路:使用`ifelifelse`语句根据星期几打印对应的星期。

答案8:`foriinrange(1,11):print(i)`

解题思路:使用`for`循环遍历指定范围内的整数。

答案9:`n=1;product=1;whilen>1:product=n;n=1;print(product)`

解题思路:使用`while`循环计算阶乘。

答案10:`foriinrange(1,10):forjinrange(1,10):print(f"{i}x{j}={ij}",end="\t")`

解题思路:使用嵌套循环打印乘法表。

答案11:`defadd_numbers(a,b):returnab`

解题思路:定义函数并返回两个数的和。

答案12:`defgreet(name):print(f"Hello,{name}!")`

解题思路:定义函数并打印问候语。

答案13:`defprint_even_numbers(n):foriinrange(2,n1,2):print(i)`

解题思路:定义函数并使用`for`循环打印偶数。

答案14:`importmath;sqrt_value=math.sqrt(16);print(sqrt_value)`

解题思路:导入模块并使用模块中的函数。

答案15:`importrandom;random_number=random.randint(1,100);print(random_number)`

解题思路:导入模块并使用模块中的函数随机数。

答案16:`importos;files=os.listdir('.');print(files)`

解题思路:导入模块并使用模块中的函数列出目录内容。二、Python数据结构1.列表(List)

(1)选择题

1.下列哪个选项是Python中的列表数据类型?

A.数组

B.元组

C.字典

D.列表

答案:D

解题思路:根据题目描述,要求找出Python中的列表数据类型,从选项中可以看出,D选项是列表数据类型。

(2)编程题

2.编写一个Python程序,将以下列表中的数字逆序输出:

`numbers=[1,2,3,4,5]`

答案:

numbers=[1,2,3,4,5]

reversed_numbers=numbers[::1]

print(reversed_numbers)

解题思路:首先创建一个列表numbers,然后使用切片操作`[::1]`将列表中的元素逆序输出。

2.元组(Tuple)

(1)选择题

3.下列哪个选项是Python中的元组数据类型?

A.数组

B.元组

C.字典

D.列表

答案:B

解题思路:根据题目描述,要求找出Python中的元组数据类型,从选项中可以看出,B选项是元组数据类型。

(2)编程题

4.编写一个Python程序,将以下元组中的元素拆分到两个变量中:

`tuple_example=(10,20,30,40,50)`

答案:

tuple_example=(10,20,30,40,50)

a,b,c=tuple_example

print("a:",a)

print("b:",b)

print("c:",c)

解题思路:使用元组解包的方式,将元组中的元素分别赋值给变量a、b和c。

3.字典(Dictionary)

(1)选择题

5.下列哪个选项是Python中的字典数据类型?

A.数组

B.元组

C.字典

D.列表

答案:C

解题思路:根据题目描述,要求找出Python中的字典数据类型,从选项中可以看出,C选项是字典数据类型。

(2)编程题

6.编写一个Python程序,实现将以下列表转换成字典,其中键为列表索引,值为列表对应元素的平方:

`list_example=[1,2,3,4,5]`

答案:

list_example=[1,2,3,4,5]

dict_example={i:v2fori,vinenumerate(list_example)}

print(dict_example)

解题思路:使用列表推导式和enumerate函数实现列表到字典的转换。

4.集合(Set)

(1)选择题

7.下列哪个选项是Python中的集合数据类型?

A.数组

B.元组

C.字典

D.集合

答案:D

解题思路:根据题目描述,要求找出Python中的集合数据类型,从选项中可以看出,D选项是集合数据类型。

(2)编程题

8.编写一个Python程序,将以下两个集合合并并去重:

`set1={1,2,3,4,5}`

`set2={4,5,6,7,8}`

答案:

set1={1,2,3,4,5}

set2={4,5,6,7,8}

result=set1set2

print(result)

解题思路:使用集合的并集操作``合并两个集合,并使用集合的自动去重功能。

5.字符串(String)

(1)选择题

9.下列哪个选项是Python中的字符串数据类型?

A.数组

B.元组

C.字典

D.字符串

答案:D

解题思路:根据题目描述,要求找出Python中的字符串数据类型,从选项中可以看出,D选项是字符串数据类型。

(2)编程题

10.编写一个Python程序,将以下字符串反转:

`string_example="Hello,World!"`

答案:

string_example="Hello,World!"

reversed_string=string_example[::1]

print(reversed_string)

解题思路:使用字符串切片操作`[::1]`将字符串反转。

6.切片(Slicing)

(1)选择题

11.下列哪个选项表示从索引0到索引4(不包含索引5)的切片操作?

A.[0:5]

B.[0:4]

C.[0:5:]

D.[0:4:]

答案:B

解题思路:切片操作中,冒号后面的数字表示结束索引,不包含结束索引的元素。因此,选择B选项表示从索引0到索引4的切片操作。

(2)编程题

12.编写一个Python程序,将以下列表中索引为2到4的元素提取出来并赋值给变量x:

`list_example=[0,1,2,3,4,5]`

答案:

list_example=[0,1,2,3,4,5]

x=list_example[2:5]

print(x)

解题思路:使用列表切片操作提取索引为2到4的元素,并赋值给变量x。

7.序列解包的层级输出

(1)编程题

13.编写一个Python程序,将以下列表中的序列元素解包并打印出层级结构:

`sequence=[1,[2,[3,[4]],5],6]`

答案:

sequence=[1,[2,[3,[4]],5],6]

defprint_sequence(seq,level=0):

ifisinstance(seq,list):

foriteminseq:

print(''levelstr(item))

ifisinstance(item,list):

print_sequence(item,level1)

print_sequence(sequence)

解题思路:定义一个递归函数`print_sequence`,用于打印序列中的元素及其层级结构。在函数中,首先判断传入的序列是否为列表,如果是列表,则遍历列表中的每个元素。对于每个元素,再次判断是否为列表,如果是,则递归调用`print_sequence`函数并增加层级。否则,直接打印元素及其对应的层级。

答案及解题思路:

1.答案:D解题思路:根据题目描述,要求找出Python中的列表数据类型,从选项中可以看出,D选项是列表数据类型。

2.答案:

numbers=[1,2,3,4,5]

reversed_numbers=numbers[::1]

print(reversed_numbers)

解题思路:首先创建一个列表numbers,然后使用切片操作`[::1]`将列表中的元素逆序输出。

3.答案:B解题思路:根据题目描述,要求找出Python中的元组数据类型,从选项中可以看出,B选项是元组数据类型。

4.答案:

tuple_example=(10,20,30,40,50)

a,b,c=tuple_example

print("a:",a)

print("b:",b)

print("c:",c)

解题思路:使用元组解包的方式,将元组中的元素分别赋值给变量a、b和c。

5.答案:C解题思路:根据题目描述,要求找出Python中的字典数据类型,从选项中可以看出,C选项是字典数据类型。

6.答案:

list_example=[1,2,3,4,5]

dict_example={i:v2fori,vinenumerate(list_example)}

print(dict_example)

解题思路:使用列表推导式和enumerate函数实现列表到字典的转换。

7.答案:D解题思路:根据题目描述,要求找出Python中的集合数据类型,从选项中可以看出,D选项是集合数据类型。

8.答案:

set1={1,2,3,4,5}

set2={4,5,6,7,8}

result=set1set2

print(result)

解题思路:使用集合的并集操作``合并两个集合,并使用集合的自动去重功能。

9.答案:D解题思路:根据题目描述,要求找出Python中的字符串数据类型,从选项中可以看出,D选项是字符串数据类型。

10.答案:

string_example="Hello,World!"

reversed_string=string_example[::1]

print(reversed_string)

解题思路:使用字符串切片操作`[::1]`将字符串反转。

11.答案:B解题思路:根据题目描述,要求找出表示从索引0到索引4(不包含索引5)的切片操作,从选项中可以看出,B选项符合要求。

12.答案:

list_example=[0,1,2,3,4,5]

x=list_example[2:5]

print(x)

解题思路:使用列表切片操作提取索引为2到4的元素,并赋值给变量x。

13.答案:

sequence=[1,[2,[3,[4]],5],6]

defprint_sequence(seq,level=0):

ifisinstance(seq,list):

foriteminseq:

print(''levelstr(item))

ifisinstance(item,list):

print_sequence(item,level1)

print_sequence(sequence)

解题思路:定义一个递归函数`print_sequence`,用于打印序列中的元素及其层级结构。在函数中,首先判断传入的序列是否为列表,如果是列表,则遍历列表中的每个元素。对于每个元素,再次判断是否为列表,如果是,则递归调用`print_sequence`函数并增加层级。否则,直接打印元素及其对应的层级。三、Python函数1.参数传递

题目1:定义一个函数`add_numbers(a,b)`,该函数接收两个参数并返回它们的和。调用该函数并传入不同的参数,观察参数的传递方式。

题目2:编写一个函数`update_list(lst,value)`,该函数接收一个列表和一个值,然后将该值添加到列表的末尾。调用该函数并传入一个列表和一个值,观察列表的变化。

2.递归函数

题目3:实现一个递归函数`factorial(n)`,用于计算n的阶乘。调用该函数并传入一个正整数,输出结果。

题目4:编写一个递归函数`fibonacci(n)`,用于计算斐波那契数列的第n项。调用该函数并传入一个正整数,输出结果。

3.可变参数

题目5:定义一个函数`sum_numbers(args)`,该函数接收任意数量的数字参数并返回它们的总和。调用该函数并传入不同的数字,输出结果。

4.关键字参数

题目6:编写一个函数`greet(name,age,city)`,该函数接收三个参数并打印问候语。调用该函数时,使用关键字参数来传递这些值。

5.默认参数

题目7:定义一个函数`print_message(message="Hello,World!")`,该函数打印传入的消息。调用该函数,一次不传参数,一次传参数。

6.变长参数

题目8:实现一个函数`print_info(name,details)`,该函数接收一个名字和任意数量的详细信息,并打印它们。调用该函数并传入不同的信息。

7.高阶函数

题目9:定义一个函数`apply_operation(func,x,y)`,该函数接收一个操作函数`func`和两个数字`x`、`y`,然后调用`func(x,y)`。定义一个操作函数`add`,使其接收两个数字并返回它们的和,然后调用`apply_operation`函数。

答案及解题思路:

1.参数传递

答案1:参数传递是通过引用进行的,所以修改参数的值会改变原始变量的值。

答案2:列表是可变对象,所以修改列表会改变原始列表的内容。

2.递归函数

答案3:递归函数通过重复调用自身来解决问题,直到达到基例。`factorial(n)`的递归过程`factorial(n)>nfactorial(n1)`,直到`n`为1时返回1。

答案4:递归函数的递归过程`fibonacci(n)>fibonacci(n1)fibonacci(n2)`,直到`n`为1或2时返回`n`。

3.可变参数

答案5:可变参数允许函数接收任意数量的参数,通过在参数前加星号``来定义。`sum_numbers(1,2,3,4)`的结果是10。

4.关键字参数

答案6:关键字参数允许函数接收参数时指定参数名,这使得调用函数时参数的顺序不重要。例如`greet(name="Alice",age=30,city="NewYork")`。

5.默认参数

答案7:默认参数在函数定义时指定默认值,如果调用函数时未提供该参数,则使用默认值。`print_message()`将打印"Hello,World!"。

6.变长参数

答案8:变长参数允许函数接收任意数量的参数,通过在参数前加星号``来定义。`print_info("John","Male","30","Developer")`将打印"JohnMale30Developer"。

7.高阶函数

答案9:高阶函数是接受函数作为参数或返回函数的函数。`apply_operation(add,5,3)`将调用`add(5,3)`并返回8。四、Python面向对象编程1.类的定义和实例化

题目1:请定义一个名为`Car`的类,该类包含两个属性:`brand`和`model`,并编写一个构造函数,用于初始化这些属性。

答案1:

classCar:

def__init__(self,brand,model):

self.brand=brand

self.model=model

解题思路:使用`class`关键字定义类,`__init__`是构造函数,`self`是类的实例化对象。

题目2:如何创建`Car`类的一个实例,并为其属性赋值?

答案2:

my_car=Car('Toyota','Corolla')

解题思路:使用`class`关键字定义的类可以通过调用构造函数来创建实例,并传递参数给构造函数。

2.继承

题目3:定义一个基类`Vehicle`,包含一个方法`start_engine`。然后定义一个子类`Car`,继承自`Vehicle`类,并重写`start_engine`方法。

答案3:

classVehicle:

defstart_engine(self):

print("Vehicleenginestarted.")

classCar(Vehicle):

defstart_engine(self):

print("Carenginestarted.")

解题思路:使用`class`关键字定义基类,`Vehicle`,然后在子类`Car`中使用`super()`来调用基类的构造函数,并重写方法。

3.多态

题目4:如何展示多态性,假设有一个`start_engine`方法在不同的子类中有不同的实现?

答案4:

vehicles=[Car('Toyota','Corolla'),Car('Ford','Mustang')]

forvehicleinvehicles:

vehicle.start_engine()

解题思路:多态性体现在同一个接口(方法名)有不同的实现。在上面的代码中,尽管`vehicles`列表中包含了不同的`Car`实例,但它们都可以通过`start_engine`方法进行统一的处理。

4.封装

题目5:请定义一个名为`BankAccount`的类,其中包含一个私有属性`_balance`,以及公共方法`deposit`和`withdraw`。

答案5:

classBankAccount:

def__init__(self,initial_deposit=0):

self._balance=initial_deposit

defdeposit(self,amount):

self._balance=amount

defwithdraw(self,amount):

ifamount=self._balance:

self._balance=amount

else:

print("Insufficientfunds")

解题思路:使用下划线前缀来表示私有属性,并通过公共方法来访问和修改这些属性,以实现封装。

5.构造函数和析构函数

题目6:定义一个类`Employee`,包含属性`name`和`id`,以及构造函数`__init__`和析构函数`__del__`。

答案6:

classEmployee:

def__init__(self,name,emp_id):

=name

self.emp_id=emp_id

print(f"Employee{}createdwithID{self.emp_id}")

def__del__(self):

print(f"Employee{}withID{self.emp_id}isterminated.")

解题思路:构造函数`__init__`在对象创建时自动调用,用于初始化对象属性;析构函数`__del__`在对象销毁前自动调用,可以用于清理资源。

6.特殊方法

题目7:实现一个`__str__`方法,用于返回`Employee`类的字符串表示形式。

答案7:

classEmployee:

(其他方法)

def__str__(self):

returnf"Employee(name={},id={self.emp_id})"

解题思路:`__str__`方法返回对象的字符串表示,这在打印对象时特别有用。

7.属性装饰器

题目8:使用属性装饰器来创建一个`BankAccount`类,使其能够限制余额的取值范围。

答案8:

classBankAccount:

def__init__(self,initial_deposit=0):

self._balance=initial_deposit

property

defbalance(self):

returnself._balance

balance.setter

defbalance(self,value):

if0=value=10000:

self._balance=value

else:

raiseValueError("Balancemustbebetween0and10000")

(其他方法)

解题思路:属性装饰器允许我们定义获取器(getter)和设置器(setter)方法,以控制属性访问和修改的方式。

答案及解题思路:

答案18如上所示,解题思路主要涉及面向对象编程的基本概念,包括类定义、实例化、继承、多态、封装、构造函数/析构函数、特殊方法和属性装饰器。每个题目都是针对Python面向对象编程的一个知识点进行设计的,旨在测试考生对这些概念的理解和应用能力。五、文件操作1.文件打开和关闭

1.下列关于Python中文件操作的描述,错误的是?

a.使用`open()`函数可以打开一个文件。

b.`open()`函数默认的打开模式是只读模式。

c.使用`close()`函数可以关闭已经打开的文件。

d.使用`with`语句可以自动管理文件的打开和关闭。

2.以下代码执行后,文件`example.txt`是否会被关闭?

withopen('example.txt','w')asf:

print("Hello,World!")

a.会被关闭

b.不会关闭

c.无法确定

d.上述代码错误

2.文件读取和写入

1.以下哪种方法可以读取一个文本文件的每一行?

a.`file.read()`方法

b.`file.readline()`方法

c.`file.readlines()`方法

d.以上都可以

2.在以下代码中,`file`对象的`write()`方法将执行什么操作?

file=open('example.txt','w')

file.write('Hello,World!')

file.close()

a.将覆盖文件`example.txt`中的内容

b.将添加内容到文件`example.txt`的末尾

c.无操作,因为`file`已经关闭

d.抛出异常

3.文件读写模式

1.以下哪个模式用于以追加模式打开一个文件?

a.'r'

b.'w'

c.'a'

d.'x'

2.如果你想读取一个文件的同时允许其他进程对文件进行写入,你应该使用哪种模式打开文件?

a.'r'

b.'w'

c.'r'

d.'a'

4.文件读写操作

1.以下代码执行后,文件`example.txt`的内容是什么?

file=open('example.txt','w')

file.write('Python')

file.write('\n')

file.write('Programming')

file.close()

a.Python

b.Python\nProgramming

c.Python\n\nProgramming

d.PythonProgramming

2.使用`seek()`方法将文件指针移动到文件末尾后,使用`read()`方法读取的内容是什么?

file=open('example.txt','w')

file.write('Python')

file.seek(0,2)

content=file.read()

file.close()

a.Python

b.None

c.文件末尾的空白字符

d.Python\n

5.文件路径处理

1.以下哪个是正确的文件路径分隔符?

a./

b.\

c.:

d.

2.如何在Python中获取当前工作目录?

a.`os.getcwd()`

b.`os.chdir()`

c.`os.path.dirname()`

d.`os.path.basename()`

6.文件压缩和解压

1.Python中用于压缩和解压文件的模块是?

a.`zipfile`

b.`gzip`

c.`tarfile`

d.以上都是

2.以下哪个命令用于压缩文件`example.txt`为`example.zip`?

importzipfile

withzipfile.ZipFile('example.zip','w')aszipf:

zipf.write('example.txt')

a.正确

b.错误,需要设置压缩级别

c.错误,需要指定压缩格式

d.错误,需要关闭zip文件

7.文件目录操作

1.以下哪个函数可以创建一个新的目录?

a.`os.mkdir()`

b.`os.makedirs()`

c.`os.rmdir()`

d.`os.remove()`

2.如何删除一个非空目录?

a.使用`os.rmdir()`

b.使用`os.remove()`

c.使用`os.listdir()`

d.使用`shutil.rmtree()`

答案及解题思路:

1.1b;2a;3a;4a

2.1c;2a

3.1c;2c

4.1a;2c

5.1a;2a

6.1d;2a

7.1a;2d

解题思路简述:

1.第一题中,'r'模式默认是只读,'w'模式是写入,'a'模式是追加,'x'模式是创建。

2.第二题中,`with`语句保证了文件在代码块执行完毕后自动关闭。

3.第三题中,'r'模式允许读取和写入。

4.第四题中,`write()`方法会将写入的内容添加到文件中,`read()`方法会从当前指针位置开始读取。

5.第五题中,`os.getcwd()`用于获取当前目录,`os.path.dirname()`和`os.path.basename()`用于获取路径的目录和文件名。

6.第六题中,`zipfile`用于创建和操作zip文件,`gzip`用于压缩和解压gzip格式的文件,`tarfile`用于创建和操作tar文件。

7.第七题中,`os.rmdir()`用于删除空目录,`os.remove()`用于删除文件,`shutil.rmtree()`用于删除非空目录。六、异常处理1.tryexcept语句

题目:编写一个Python程序,使用tryexcept语句捕获除以零的错误。

try:

result=10/0

exceptExceptionase:

print(f"Erroroccurred:{e}")

答案:Erroroccurred:divisionzero

解题思路:在try块中执行可能引发异常的代码,如果发生异常,则except块将捕获异常并执行相应的错误处理代码。

2.捕获异常类型

题目:编写一个程序,捕获并处理两种不同的异常类型:`ZeroDivisionError`和`ValueError`。

try:

x=int(input("Enteraninteger:"))

result=10/x

exceptZeroDivisionError:

print("Cannotdividezero.")

exceptValueError:

print("Inputisnotavalidinteger.")

答案:根据输入情况输出不同的错误信息

解题思路:分别捕获特定的异常类型,以便进行针对性的错误处理。

3.异常处理流程

题目:编写一个程序,演示基本的异常处理流程。

try:

正常执行的代码

print("Thiswillnotraiseanexception.")

exceptExceptionase:

print(f"Anerroroccurred:{e}")

else:

print("Noexceptionswereraised.")

finally:

print("Thiswillalwaysexecute.")

答案:

Thiswillnotraiseanexception.

Noexceptionswereraised.

Thiswillalwaysexecute.

解题思路:try块尝试执行代码,如果没有异常则执行else块,无论是否发生异常,finally块总是执行。

4.抛出异常

题目:编写一个程序,当用户输入的年龄小于18时,抛出一个`ValueError`。

age=int(input("Enteryourage:"))

ifage18:

raiseValueError("Youmustbe18orolder.")

答案:当输入年龄小于18时,程序会抛出ValueError异常。

解题思路:使用`raise`关键字显式抛出一个异常,当条件不满足时触发异常。

5.自定义异常

题目:定义一个名为`CustomError`的自定义异常类,并在适当的时候抛出它。

classCustomError(Exception):

pass

try:

ifsome_condition:

raiseCustomError("Thisisacustomerror.")

exceptCustomErrorasce:

print(ce)

答案:Thisisacustomerror.

解题思路:通过继承`Exception`类来创建自定义异常,当特定条件满足时抛出。

6.异常处理注意事项

题目:解释在异常处理中应避免的常见错误。

答案:

在except块中重新抛出原始异常,而不是捕获后又抛出。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论