小甲鱼的python课怎么样_[Python]小甲鱼Python视频第052课(像极客一样去思考)课后题及参考解答...

# -*- 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

"""

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值