1、Python 基础知识笔试单选题(2.5 分*20 题)1. 下列哪个表达式在 Python 中是非法的? BA. x = y = z = 1B. x = (y = z + 1)C. x, y = y, xD. x += y2. python my.py v1 v2 命令运行脚本,通过 from sys import argv 如何获得 v2的参数值? CA. argv0B. argv1C. argv2D. argv33. 如何解释下面的执行结果? Bprint 1.2 - 1.0 = 0.2 FalseA. Python 的实现有错误B. 浮点数无法精确表示C. 布尔运算不能用于浮点数比较D
2、. Python 将非 0 数视为 False4. 下列代码执行结果是什么? Dx = 1def change(a):x += 1print xchange(x)A. 1B. 2C. 3D. 报错5. 下列哪种类型是 Python 的映射类型? DA. strB. listC. tupleD. dict6. 下述字符串格式化语法正确的是? DA. GNUs Not %d % % UNIXB. GNUs Not %d % % UNIXC. GNUs Not %s % % UNIXD. GNUs Not %s % % UNIX7. 在 Python 2.7 中,下列哪种是 Unicode 编码的书
3、写方式?CA. a = 中文B. a = r中文C. a = u中文D. a = b中文8. 下列代码的运行结果是? Dprint a b or cA. aB. bC. cD. TrueE. False10. 下列哪种不是 Python 元组的定义方式? AA. (1)B. (1, )C. (1, 2)D. (1, 2, (3, 4)11. a 与 b 定义如下,下列哪个是正确的? Ba = 123b = 123A. a != bB. a is bC. a = 123D. a + b = 24612. 下列对协程的理解错误的是? DA. 一个线程可以运行多个协程B. 协程的调度由所在程序自身控
4、制C. Linux 中线程的调度由操作系统控制D. Linux 中协程的调度由操作系统控制13. 下列哪种函式参数定义不合法? CA. def myfunc(*args):B. def myfunc(arg1=1):C. def myfunc(*args, a=1):D. def myfunc(a=1, *args):14. 下列代码执行结果是? Ai*i for i in xrange(3)A. 1, 1, 4B. 0, 1, 4C. 1, 2, 3D. (1, 1, 4)15. 一个段代码定义如下,下列调用结果正确的是?Adef bar(multiple):def foo(n):retur
5、n multiple * nreturn fooA. bar(2)(3) = 8B. bar(2)(3) = 6C. bar(3)(2) = 8D. bar(3)(2) = 616. 下面代码运行结果? Ca = 1try:a += 1except:a += 1else:a += 1finally:a += 1print aA. 2B. 3C. 4D. 517. 下面代码运行后,a 、b、c、d 四个变量的值,描述错误的是? Dimport copya = 1, 2, 3, 4, a, b b = a c = copy.copy(a) d = copy.deepcopy(a) a.append
6、(5) a4.append(c) A. a = 1,2, 3, 4, a, b, c, 5B. b = 1,2, 3, 4, a, b, c, 5C. c = 1,2, 3, 4, a, b, cD. d = 1,2, 3, 4, a, b, c18. 有如下函数定义,执行结果正确的是? Adef dec(f):n = 3def wrapper(*args,*kw):return f(*args,*kw) * nreturn wrapperdecdef foo(n):return n * 2A. foo(2) = 12B. foo(3) = 12C. foo(2) = 6D. foo(3) =
7、 619. 有如下类定义,下列描述错误的是? Dclass A(object):passclass B(A):passb = B()A. isinstance(b, A) = TrueB. isinstance(b, object) = TrueC. issubclass(B, A) = TrueD. issubclass(b, B) = True20. 下列代码运行结果是? Ca = map(lambda x: x*3, 1, 2, 3)list(a)A. 1, 6, 9B. 1, 12, 27C. 1, 8, 27D. (1, 6, 9)多选题(5 分*5 题)21. Python 中函数
8、是对象,描述正确的是? ABCDA. 函数可以赋值给一个变量B. 函数可以作为元素添加到集合对象中C. 函数可以作为参数值传递给其它函数D. 函数可以当做函数的返回值22. 若 a = range(100),以下哪些操作是合法的? ABCDA. a-3B. a2:13C. a:3D. a2-323. 若 a = (1, 2, 3),下列哪些操作是合法的 ? ABDA. a1:-1B. a*3C. a2 = 4D. list(a)24. Python 中单下划线_foo 与双下划线_foo 与_foo_的成员,下列说法正确的是?ABCA. _foo 不能直接用于from module impor
9、t *B. _foo 解析器用_classname_foo 来代替这个名字,以区别和其他类相同的命名C. _foo_代表 python 里特殊方法专用的标识D. _foo 可以直接用于from module import *25. _new_和_init_的区别,说法正确的是? ABCDA. _new_是一个静态方法,而_init_是一个实例方法B. _new_方法会返回一个创建的实例,而_init_什么都不返回C. 只有在_new_返回一个 cls 的实例时,后面的_init_才能被调用D. 当创建一个新实例时调用_new_,初始化一个实例时用_init_填空题(5 分*5 题)26. 在
10、Python 2.7 中,执行下列语句后,显示结果是什么? 答:0 0.5 from _future_ importdivisionprint 1/2, 1/227. 在 Python 2.7 中,执行下列语句后的显示结果是什么? 答:none 0a = 1b = 2 * a / 4a = “none“print a,b28. 下列语句执行结果是什么? 答:1, 2, 3, 1, 2, 3, 1, 2, 3a = 1, 2, 3print a*329. 下列语句的执行结果是什么? 答:3a = 1for i in range(5):if i = 2:breaka += 1else:a += 1print a30. 下列代码的运行结果是多少? 答:4def bar(n):m = nwhile True:m += 1yield mb = bar(3)print b.next()