2023《Python程序设计》试题库:简答题(含答案)
- 技巧分类:
- 技巧标签:Python  程序  设计  试题 
- 技巧链接:https://wpfx.org/skills/5259.html
- 技巧详情:
2023《Python程序设计》试题库:简答题(含答案)
三、简答题
1、简朴解释Python基于值的自动内存管理方式?
(Python采用的是基于值得内存管理方式,在Python中可认为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一个内存地址;Python具有自动内存管理功能,会自动跟踪内存中所有的值,对于没有任何变量指向的值,Python自动将其删除。)
2、写出Python运算符&的两种功能?
(1)数字位运算;2)集合交集运算。)
3、在Python中导入模块中的对象有哪几种方式?
(1)import 模块名 [as 别名];2)from 模块名 import 对象名[ as 别名];3)from math import *)
4、解释Python脚本程序的“__name__”变量及其作用?
(每个Python脚本在运营时都有一个“__name__”属性。假如脚本作为模块被导入,则其“__name__”属性的值被自动设立为模块名;假如脚本独立运营,则其“__name__”属性值被自动设立为“__main__”。运用“__name__”属性即可控制Python程序的运营方式。)
5、为什么应尽量从列表的尾部进行元素的增长与删除操作?
(当列表增长或删除元素时,列表对象自动进行内存扩展或收缩,从而保证元素之间没有缝隙,但这涉及到列表元素的移动,效率较低,应尽量从列表尾部进行元素的增长与删除操作以提高解决速度。)
6、分析逻辑运算符“or”的短路求值特性?
(假设有表达式“表达式1 or 表达式2”,假如表达式1的值等价于True,那么无论表达式2的值是什么,整个表达式的值总是等价于True。因此,不需要再计算表达式2的值。)
7、简朴解释Python中短字符串驻留机制?
(对于短字符串,将其赋值给多个不同的对象时,内存中只有一个副本,多个对象共享改副本。)
8、异常和错误有什么区别?(异常是指由于程序执行过程中犯错而在正常控制流以外采用的行为。严格来说,语法错误和逻辑错误不属于异常,但有些语法错误往往会导致异常,例如由于大小写拼写错误而访问不存在的对象,或者试图访问不存在的文献,等等。)
9、使用pdb模块进行Python程序调试重要有哪几种用法?
(1)在交互模式下使用pdb模块提供的功能可以直接调试语句块、表达式、函数等多种脚本。2)在程序中嵌入断点来实现调试功能。在程序中一方面导入pdb模块,然后使用pdb.set_trace()在需要的位置设立断点。假如程序中存在通过该方法调用显式插入的断点,那么在命令提醒符环境下执行该程序或双击执行程序时将自动打开pdb调试环境,即使该程序当前不处在调试状态。3)使用命令行调试程序。在命令行提醒符下执行“python –m pdb 脚本文献名”,则直接进入调试环境;当调试结束或程序正常结束以后,pdb将重启该程序。)
10、阅读下面的代码,并分析假设文献“D:\test.txt”不存在的情况下两段代码也许发生的问题。
代码1:
>>> try: fp = open(r'd:\test.txt') print('Hello world!', file=fp) finally: fp.close()
代码2:
>>> try: fp = open(r'd:\test.txt', 'a+') print('Hello world!', file=fp) finally: fp.close()
答:
假设文献“D:\test.txt”不存在,那么第一段代码会抛出异常,提醒fp没有定义;第二段代码执行正常。因素是第二段代码使用内置函数open()打开指定文献时假如不存在则会创建该文献,从而不会抛出异常。
11、下面的代码本意是把当前文献夹中所有html文献都改为htm文献,仔细阅读代码,简要说明也许存在的问题。
import os file_list=os.listdir(".") for filename in file_list: pos = filename.rindex(".") if filename[pos+1:] == "html": newname = filename[:pos+1]+"htm" os.rename(filename,newname) print(filename+"更名为:"+newname)
答:
对于字符串对象,假如要查找的子字符串不存在,则rindex()方法会抛出异常。所以,假如当前文献夹中有不包含圆点的文献名或者子文献夹名,上面的代码会抛出异常而崩溃。
发表评论(审核通过后显示) 取消回复