单选题(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 change(a):
x += 1
print x
change(x)
A. 1
B. 2
C. 3
D. 报错
5. 下列哪种类型是Python的映射类型? D
A. str
B. list
C. tuple
D. dict
6. 下述字符串格式化语法正确的是? D
A. 'GNU's Not %d %%' % 'UNIX'
B. 'GNU's Not %d %%' % 'UNIX'
C. 'GNU's Not %s %%' % 'UNIX'
D. 'GNU's Not %s %%' % 'UNIX'
7. 在Python 2.7中,下列哪种是Unicode编码的书写方式?C
A. a = ‘中文’
B. a = r‘中文’
C. a = u’中文’
D. a = b’中文’
8. 下列代码的运行结果是? D
print 'a'
A. a
B. b
C. c
D. True
E. False
9. 下列代码运行结果是? C
a = 'a'
print a > 'b' or 'c'
A. a
B. b
C. c
D. True
E. False
10. 下列哪种不是Python元组的定义方式? A
A. (1)
B. (1, )
C. (1, 2)
D. (1, 2, (3, 4))
11. a与b定义如下,下列哪个是正确的? B
a = '123'
b = '123'
A. a != b
B. a is b
C. a == 123
D. a + b = 246
12. 下列对协程的理解错误的是? D
A. 一个线程可以运行多个协程
B. 协程的调度由所在程序自身控制
C. Linux中线程的调度由操作系统控制
D. Linux中协程的调度由操作系统控制
13. 下列哪种函式参数定义不合法? C
A. def myfunc(*args):
B. def myfunc(arg1=1):
C. def myfunc(*args, a=1):
D. def myfunc(a=1, **args):
14. 下列代码执行结果是? A
[i**i for i in xrange(3)]
A. [1, 1, 4]
B. [0, 1, 4]
C. [1, 2, 3]
D. (1, 1, 4)
15. 一个段代码定义如下,下列调用结果正确的是?A
def bar(multiple):
def foo(n):
return multiple ** n
return foo
A. bar(2)(3) == 8
B. bar(2)(3) == 6
C. bar(3)(2) == 8
D. bar(3)(2) == 6
16. 下面代码运行结果? C
a = 1
try:
a += 1
except:
a += 1
else:
a += 1
finally:
a += 1
print a
A. 2
B. 3
C. 4
D. 5
17. 下面代码运行后,a、b、c、d四个变量的值,描述错误的是? D
import copy
a = [1, 2, 3, 4, ['a', 'b']]
b = a
c = copy.copy(a)
d = copy.deepcopy(a)
a.append(5)
a[4].append('c')
A. a == [1,2, 3, 4, ['a', 'b', 'c'], 5]
B. b == [1,2, 3, 4, ['a', 'b', 'c'], 5]
C. c == [1,2, 3, 4, ['a', 'b', 'c']]
D. d == [1,2, 3, 4, ['a', 'b', ‘c’]]
18. 有如下函数定义,执行结果正确的是? A
def dec(f):
n = 3
def wrapper(*args,**kw):
return f(*args,**kw) * n
return wrapper
@dec
def foo(n):
return n * 2
A. foo(2) == 12
B. foo(3) == 12
C. foo(2) == 6
D. foo(3) == 6
19. 有如下类定义,下列描述错误的是? D
class A(object):
pass
class B(A):
pass
b = B()
A. isinstance(b, A) == True
B. isinstance(b, object) == True
C. issubclass(B, A) == True
D. issubclass(b, B) == True
20. 下列代码运行结果是? C
a = map(lambda x: x**3, [1, 2, 3])
list(a)
A. [1, 6, 9]
B. [1, 12, 27]
C. [1, 8, 27]
D. (1, 6, 9)
多选题(5分*5题)
21. Python中函数是对象,描述正确的是? ABCD
A. 函数可以赋值给一个变量
B. 函数可以作为元素添加到集合对象中
C. 函数可以作为参数值传递给其它函数
D. 函数可以当做函数的返回值
22. 若 a = range(100),以下哪些操作是合法的? ABCD
A. a[-3]
B. a[2:13]
C. a[::3]
D. a[2-3]
23. 若 a = (1, 2, 3),下列哪些操作是合法的? ABD
A. a[1:-1]
B. a*3
C. a[2] = 4
D. list(a)
24. Python中单下划线_foo与双下划线__foo与__foo__的成员,下列说法正确的是?ABC
A. _foo 不能直接用于’from module import *’
B. __foo解析器用_classname__foo来代替这个名字,以区别和其他类相同的命名
C. __foo__代表python里特殊方法专用的标识
D. __foo 可以直接用于’from module import *’
25. __new__和__init__的区别,说法正确的是? ABCD
A. __new__是一个静态方法,而__init__是一个实例方法
B. __new__方法会返回一个创建的实例,而__init__什么都不返回
C. 只有在__new__返回一个cls的实例时,后面的__init__才能被调用
D. 当创建一个新实例时调用__new__,初始化一个实例时用__init__
填空题(5分*5题)
26. 在Python 2.7中,执行下列语句后,显示结果是什么? 答:0 0.5
from __future__ importdivision
print 1//2, 1/2
27. 在Python 2.7中,执行下列语句后的显示结果是什么? 答:none 0
a = 1
b = 2 * a / 4
a = "none"
print a,b
28. 下列语句执行结果是什么? 答:[1, 2, 3, 1, 2, 3, 1, 2, 3]
a = [1, 2, 3]
print a*3
29. 下列语句的执行结果是什么? 答:3
a = 1
for i in range(5):
if i == 2:
break
a += 1
else:
a += 1
print a
30. 下列代码的运行结果是多少? 答:4
def bar(n):
m = n
while True:
m += 1
yield m
b = bar(3)
print b.next()
Python入门系统学习资料加Python学习群:548377875
领取专属 10元无门槛券
私享最新 技术干货