Python基础测试题,这你都不会就不再说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 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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180910A1STO200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券