• 老男孩Python全栈学习 S9 日常作业 011


    1、编写装饰器,为函数加上统计时间的功能

    import time
    def Decoration(func):
        def Timmer():
            # 开始时间
            Start = time.time()
            func()
            End = time.time()
            return  Start - End
        return Timmer
    
    @Decoration
    def func1():
        time.sleep(0.5)
        print('hello')
        return
    答案

    2、编写装饰器,为函数加上认证的功能;

    这个题目一点思路都没有,也没办法确定出题者倒底是想让我干啥,日后再回过头来看看吧

    3、写函数,传入一个参数n,返回n的阶乘

    def func1(num):
        Num = 1
        for i in range(1,num+1):
            Num *= i
        return Num

    4、有如下函数,你可以任意添加代码,用两种或以上的方法,执行inner函数.

    def wrapper():
        def inner():
            print(666)
    wrapper()
    # 方式1
    def wrapper():
        def inner():
            print(666)
        inner()
    wrapper()
    
    # 方式2
    def wrapper():
        def inner():
            print(666)
        return inner
    inner = wrapper()
    inner()
    答案

    5、相关面试题

    def calc(a,b,c,d=1,e=2):
        return (a+b)*(c-d)+e
    示例代码

    1、请分别写出下列标号代码的输出结果,如果出错请写出Error。

    print(calc(1,2,3,4,5))
    print(calc(1,2))
    print(calc(e=4,c=5,a=2,b=3))
    print(calc(1,2,3))
    print(calc(1,2,3,e=4))
    print(calc(1,2,3,d=5,4))

    2、下面代码打印的结果分别是 list1=? ,list2=? ,list3=?.

    def extendList(val,list=[]):
        list.append(val)
        return list
    list1 = extendList(10)
    list2 = extendList(123,[])
    list3 = extendList('a')
    print('list1=%s'%list1)
    print('list2=%s'%list2)
    print('list3=%s'%list3)
    def calc(a,b,c,d = 1,e = 2):
        return (a+b) * (c-d) + e
    
    print(calc(1,2,3,4,5))
    # 2
    print(calc(1,2))
    # miss error
    print(calc(e=4,c=5,a=2,b=3))
    # 24
    print(calc(1,2,3))
    # 8
    print(calc(1,2,3,e=4))
    # 10
    print(calc(1,2,3,d=5,4))
    # SyntaxError
    答案-1
    def extendList(val,list=[]):
        list.append(val)
        return list
    list1 = extendList(10)
    # [10]
    list2 = extendList(123,[])
    # [123]
    list3 = extendList('a')
    # [10, 'a']
    print('list1=%s'%list1)
    # list1=[10,'a']
    print('list2=%s'%list2)
    # list2=[123]
    print('list3=%s'%list3)
    # list3=[10,'a']
    答案-2
  • 相关阅读:
    HTML <input> 标签
    HTML5 <input> type 属性
    静态页面与动态页面
    string::size_type 页73 size_t 页90
    template method(模板方法)
    C++中创建对象的时候加括号和不加括号的区别(转)
    _declspec(dllexport)和.def(转)
    智能指针
    C++中的delete加深认识
    工厂方法(整理自李建忠<C++设计模式>视频)
  • 原文地址:https://www.cnblogs.com/guge-94/p/10582628.html
Copyright © 2020-2023  润新知