Python经典题库及答案
一、简答题
1、 写出python导入模块的关键字(⑴import,⑵from * import * )
2、 写出Python运算符&的两种功能?( 1)数字位运算;2 )集合交集运算。)
3、 简单解释Python基于值的自动内存管理方式? ( Python采用的是基于值得内存管理 方式,在Python中可以为不同变量赋值为相同值,这个值在内存中只有一份,多个变 量指向同一个内存地址;Python具有自动内存管理功能,会自动跟踪内存中所有的值, 对于没有田可变量指向的值,Python自动将其删除。)
4、在Python中导入模块中的对象有哪几种方式?( l)import模块名[as别名];
2)from 模块名 import 对象名[as 别名];3)from math import * )
5、解释Python脚本程序的"name "变量及其作用?(每个Python脚本在运行时都 有f "name "属性。如果脚本作为模块被导入,则其"name "属性的值被自动设
为模块名;如果脚本独立运行,则其M name "属性值被自动设置为w_main
用"—name_"属性即可控制Python程序的运行方式。)
6、为什么应尽量从列表的尾部进行元素的增加与删除操作?(当列表增加或删除元素时, 列表对象自动进行内存扩展或收缩,从而保证元素之间没有缝隙,但这涉及到列表元素 的移动,效率较低,应尽量从列表尾部进行元素的增加与删除操作以提高处理速度。)
7、 分析逻辑运算符python生成1到100之间随机数"or"的短路求值特性?(假设有表达式"表达式1 or表达式2", 如果表达式1的值等价于True ,那么无论表达式2的值是什么,整个表达式的值总是 等价于True。因此,不需要再计算表达式2的值。)
8、 简单解释Python中短字符串驻留机制?(对于短字符串将其赋值给多个不同的对象时, 内存中只有一个副本,多个对象共享改副本。)
9、异常和错误有什么区别?(异常是指因为程序执行过程中岀错而在正常控制流以外采取
的行为。严格来说,语法错误和逻辑错误不属于异常,但有些语法错误往往会导致异常,
例如由于大小写拼写错误而访问不存在的对象,或者试图访问不存在的文件,等等。)
模块提供的功能可以直接调试语句块、表达式、函数等多种脚本。2 )在程序中嵌入断 点来实现调试功能。在程序中首先导入pdb模块,然后使用pdb.set_trace()在需要的位 置设置断点。如果程序中存在通过该方法调用显式插入的断点,那么在命令提示符环境 下执行该程序或双击执行程序时将自动打开pdb调试环境很卩使该程序当前不处于调试 状态。
3 )使用命令行调试程序。在命令行提示符下执行"python -m pdb脚本文件名", 则直接进入调试环境;当调试结束或程序正常结束以后,pdb将重启该程序。)
10、 阅读下面的代码,并分析假设文件〃D:\"不存在的情况下两段代码可能发 生的问题。
代码1 :
>>> try:
fp = ope n『d:\tes ttxt')
print('Hello world!:
file=fp)
finally:
fp.closeO
代码2 :
>>> try:
fp = open『d:\:
,a + ,) printCHello
world!: file=fp)
finally:
fp.closeO
答:
假设文件〃D:\〃不存在,那么第一段代码会抛出异常,提示fp没有定义;第二段 代码执行正常。原因是第二段代码使用内置函数open()打开指定文件时如果不存在则会创 建该文件,从而不会抛出异常。
11.下面的代码本意是把当前文件夹中所有html文件都改为htm文件,仔细阅读代码,
简要说明可能存在的问题。
import os
file」ist 二 os.listdir(T)
for file name in filejist:
pos = file name・rindex(T)
if filename[pos+l:] == “html":
newname =
file name[:pos+l] + "htm"
os.re name(file nam 巳 new name)
print(filename+”更名为:” + newname)
口 •
对于字符串对象,如果要查的子字符串不存在,则rindex()方法会抛出异常。所以,如果
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论