上传者: 43934844
|
上传时间: 2025-07-10 21:39:11
|
文件大小: 31KB
|
文件类型: DOCX
python笔试题(1)全文共5页,当前为第1页。python笔试题(1)全文共5页,当前为第1页。python笔试题 python笔试题(1)全文共5页,当前为第1页。 python笔试题(1)全文共5页,当前为第1页。 Python基础知识笔试 一、单选题(2.5分*20题) 1. 下列哪个表达式在Python中是非法的?B A. x = y = z = 1 B. x = (y = z + 1) C. x, y = y, x D. x += y 2. python my.py v1 v2 命令运行脚本,通过from sys import argv 如何获得v2的参数值? C A. argv[0] B. argv[1] C. argv[2] D. argv[3] 3. 如何解释下面的执行结果? B print 1.2 - 1.0 == 0.2 False A. Python的实现有错误 B. 浮点数无法精确表示 C. 布尔运算不能用于浮点数比较 D. Python将非0数视为False 4. 下列代码执行结果是什么? D x = 1 def cha nge(a): x+= 1 pr
【Python基础知识】
1. Python中的赋值语句支持多重赋值,如A. x = y = z = 1,可以同时初始化多个变量。而B. x = (y = z + 1)则是非法的,因为Python不支持这种右赋值操作。
2. 在命令行运行`python my.py v1 v2`时,`sys.argv`列表会包含脚本名以及所有传入的参数。`argv[0]`是脚本名,因此要获取v2的参数值,应该使用`argv[2]`,即C. argv[2]。
3. 当执行`print 1.2 - 1.0 == 0.2`时返回`False`,这是因为Python中的浮点数表示存在精度问题,不能精确表示所有小数,所以B. 浮点数无法精确表示是正确的解释。
4. 代码`x = 1`,然后定义一个函数`change(a)`尝试改变`x`的值,但函数内部的`x`是局部变量,不会影响全局的`x`,所以D. 报错是正确的答案。
【Python数据类型】
5. Python的映射类型是D. dict,它是一种键值对的数据结构。
6. 字符串格式化中,正确使用百分号 `%` 进行占位和替换的是D. `'GNU\'s Not %s %%' % 'UNIX'`,其中`s`代表字符串,`%`用于转义。
7. Python 2.7中,Unicode编码的书写方式是C. `a = u'中文'`,前缀`u`表示这是一个Unicode字符串。
8. 执行`print 'a' < 'b' < 'c'`会返回D. True,因为这是字符串的自然排序。
9. 代码`print a > 'b' or 'c'`中,`a > 'b'`为False,根据短路逻辑,`or`后面的部分会被计算,因此返回C. 'c'。
10. Python元组定义时,单个元素需要后跟逗号,所以A. (1)是不合法的。
【Python语法】
11. 如果`a = '123'`和`b = '123'`,那么B. a is b是正确的,因为两个字符串的值相同,它们指向内存中的同一位置。
12. 协程(Coroutines)允许在一个线程中运行多个并发任务,但它们的调度通常由程序自身控制,而不是操作系统。因此,D. Linux 中协程的调度由操作系统控制是错误的。
13. 函数参数定义中,C. `def myfunc(*args, a=1):`是不合法的,因为在可变参数`*args`后面不能直接跟具名参数`a=1`。
14. 列表推导式`[i**i for i in range(3)]`会计算每个i的平方并返回列表,所以结果是A. [1, 1, 4]。
15. 闭包(Closure)示例中,`bar(2)(3)`会返回8,因为`foo(n)`返回的是`multiple`的`n`次方,这里是`2`的三次方,所以A. bar(2)(3) == 8是正确的。
【Python异常处理】
16. `try/except/else/finally`块中,无论是否发生异常,`finally`内的代码都会执行,因此最后`a`的值是D. 5。
17. 对于深浅拷贝的理解,`a.append(5)`和`a[4].append('c')`会影响到`a`、`b`,但不会影响到`c`和`d`。所以错误的描述是B. b == [1,2, 3, 4, ['a', 'b', 'c'], 5],因为`b`是`a`的引用,会受到`a`的改变影响。
【函数装饰器】
18. 函数`dec(f)`定义了一个装饰器,它返回一个新的函数`wrapper`,`wrapper`会将原始函数的返回值乘以3。所以,执行`@dec`后的`foo`函数,结果是A. def foo(*args, **kw): return f(*args, **kw) * n。
以上就是针对这份Python笔试题中的知识点进行的详细解释。这些题目涵盖了Python的基础语法、数据类型、字符串处理、函数、异常处理、内存管理等多个方面,对学习和掌握Python编程语言非常有帮助。