• [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. <type 'function'>
    B. <type 'tuple'>
    C. <type 'NoneType'>
    D. <type 'type'>
    
    调用了func() 函数,返回了None,应该是选C.
    
    
    """
    
    
    
    """
    1. 请问以下代码会打印什么内容?
    >>> print(type(1J))
    
    
    A. <type 'unicode'>
    B. <type 'int'>
    C. <type 'str'>
    D. <type 'complex'>
    
    单位虚数表示方法,应该是D。
    """
    
    
    """
    2. 请问以下代码会打印什么内容?
    >>> print(type(lambda:None))
    A. <type 'NoneType'>
    B. <type 'function'>
    C. <type 'int'>
    D. <type 'tuple'>
    
    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. <type 'int'>
    B. <type 'str'>
    C. <type 'tuple'>
    D. <type 'dict'>
    
    
    选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
    
    """
    

      

    ~不再更新,都不让我写公式,博客园太拉胯了
  • 相关阅读:
    Hdu 3564 Another LIS 线段树+LIS
    利用ESLINT进行js 语法检查,以及局部安装时遇到的一些坑
    操作系统杂谈
    算法杂谈
    前端杂谈
    操作系统复习
    vue之——从彩笔的进步之路
    一丢丢学习之webpack4 + Vue单文件组件的应用
    计蒜客 2017复赛 百度地图导航
    electron打包之真的恶心
  • 原文地址:https://www.cnblogs.com/alimy/p/10604949.html
Copyright © 2020-2023  润新知