# -*- coding: utf-8 -*-
"""
Created on Wed Mar 27 00:11:46 2019
@author: fengs
"""
"""
0. 请问以下代码会打印什么内容?
>>> def func():
pass
>>> print(type(func()))
A.
B.
C.
D.
调用了func() 函数,返回了None,应该是选C.
"""
"""
1. 请问以下代码会打印什么内容?
>>> print(type(1J))
A.
B.
C.
D.
单位虚数表示方法,应该是D。
"""
"""
2. 请问以下代码会打印什么内容?
>>> print(type(lambda:None))
A.
B.
C.
D.
lambda表达式是函数对象,应该是B
"""
"""
3. 请问以下代码会打印什么内容?
>>> a = [1, 2, 3, "FishC", ('a', 'b', 'c'), [], None]
>>> print(len(a))
A. 13
B. 7
C. 6
D. 5
7个元素,答案是B
"""
"""
4. 请问以下代码会打印什么内容?
class A:
def __init__(self, x):
x = x + 1
self.v1 = x
class B(A):
def __init__(self, x):
x = x + 1
self.v2 = x
>>> b = B(8)
>>> print("%d %d" % b.v1, b.v2)
A. 9 10
B. 9 9
C. 10 10
D. 抛出异常
抛出异常(D).
异常1: class A中有语法错误
异常2: class B的构造函数中没有调用父类的构造函数v1不存在
异常3: print % 后的匹配项应该是元组(需要匹配多个时),不能直接用逗号隔开
"""
class A:
def __init__(self, x):
x = x + 1
self.v1 = x
class B(A):
def __init__(self, x):
x = x + 1
self.v2 = x
super().__init__(x)
b = B(8)
print("%d %d" % (b.v1, b.v2))
"""
5. 请问以下代码会打印什么内容?
class A:
def __init__(self, x):
self.x = x
x = 666
>>> a = A()
>>> a = A(888)
>>> a.x
A. 666
B. 888
C. None
D. 抛出异常
选D,在 a = A() 时就会出异常 关键字参数x没有默认值,若要考察a.x的输出,应该是B,构造函数中的x是局部变量,不是成员变量self.x
"""
"""
6. 请问以下代码会打印什么内容?
values = [1, 1, 2, 3, 5]
nums = set(values)
def checkit(num):
if num in nums:
return True
else:
return False
for i in filter(checkit, values):
print(i, end=' ')
A. 1 2 3 5
B. 1 1 2 3 5
C. 1 2 3 4 3 2 1
D. 抛出异常版权
D 抛出异常,语法缩进错误,for后面的内容,若不考虑缩进问题,应该选 B
"""
"""
7. 请问以下代码会打印什么内容?
values = [1, 1, 2, 3, 5]
def transform(num):
return num ** 2
for i in map(transform, values):
print(i, end=' ')
A. 1 1 4 9 25
B. 1 1 2 3 5
C. 0.5 0.5 1 1.5 2.5
D. 2 2 4 6 10
选 A..映射出来的结果是个列表,可以迭代打印出来
"""
"""
8. 请问以下代码会打印什么内容?
class A:
def __init__(self, x):
self.x = x
a = A(100)
a.__dict__['y'] = 50
print(a.y + len(a.__dict__))
A. 2
B. 50
C. 51
D. 52
选D, 50+2
"""
"""
9. 请问以下代码会打印什么内容?
class A:
def __init__(self):
pass
def get(self):
print(__name__)
>>> a = A()
>>> a.get()
A. A
B. a
C. __main__
D. _A__
选C,当成独立代码来执行,当前模块名为 __main__
"""
"""
10. 请问以下代码会打印什么内容?
country_counter = {}
def addone(country):
if country in country_counter:
country_counter[country] += 1
else:
country_counter[country] = 1
addone('China')
addone('Japan')
addone('China')
addone("American")
print(len(country_counter))
A. 0
B. 1
C. 2
D. 3
选D,相同的不会新建key
"""
"""
11. 请问以下代码会打印什么内容?
dict1 = {}
dict1[1] = 1
dict1['1'] = 2
dict1[1.0] = 3
result = 0
for each in dict1:
result += dict1[each]
print(result)
A. 2
B. 3
C. 5
D. 6
选
1.0和1是同一个,3覆盖1
"""
"""
12. 请问以下代码会打印什么内容?
def dostuff(param1, *param2):
print type(param2)
dostuff('apples', 'bananas', 'cherry', 'dates')
A.
B.
C.
D.
选C,成为元组,在python2下才能跑,python 3下需要括号
"""
"""
13. 请问以下代码会打印什么内容?
class A:
def __init__(self, a, b, c):
self.x = a + b + c
a = A(1,2,3)
b = getattr(a, 'x')
setattr(a, 'x', b+1)
print a.x
A. 1
B. 2
C. 6
D. 7
选D,不过要注意语法 print(a.x)
"""
"""
14. 请问以下代码会打印什么内容?
list1 = [1, 2]
list2 = [3, 4]
dict1 = {'1':list1, '2':list2}
dict2 = dict1.copy()
dict1['1'][0] = 5
result = dict1['1'][0] + dict2['1'][0]
print(result)
A. 5
B. 6
C. 8
D. 10
浅拷贝,只拷贝了根级对象,修改一个都要修改,输出10, 选D
"""
"""
15. 请问以下代码会打印什么内容?
import copy
list1 = [1, 2]
list2 = [3, 4]
dict1 = {'1':list1, '2':list2}
dict2 = copy.deepcopy(dict1)
dict1['1'][0] = 5
result = dict1['1'][0] + dict2['1'][0]
print(result)
A. 5
B. 6
C. 8
D. 10
选B,深拷贝,树结构全部拷贝一遍 5+1
"""