• tank老师面试题,测试题----不定时更新


    with open('tank_test.txt','w',encoding='utf-8') as f:
        for line in range(500):
            f.write(f'www{line}aaa'*(line+1)+'
    ')
    
    # 求文件内容每一行的长度
    # 方法1:运用列表生成式----缺点:占用内存。
    
    res = [len(line) for line in open('tank_test.txt','r',encoding='utf-8')]
    print(res)
    
    # 方法2:生成器表达式----生成器对象,不占用内存随用随取
    res = (len(line) for line in open('tank_test.txt','r',encoding='utf-8'))
    print(res)  # <generator object <genexpr> at 0x02CE1930>
    '''
    面试题:
        请写出一下代码的执行结果并解释。
    '''
    
    def multipliers():
    
        return [lambda x,  i*x for i in range(4)]
        # 0, 1, 2, 3
        # [func(x): return 0*x, func(x): return 1*x,
        # func(x): return 2*x, func(x): return 3*x, ]
    
    print([m(2) for m in multipliers()])  # [6, 6, 6, 6]
    
    # [func(x): return 0*2, func(x): return 1*2,
    # func(x): return 2*2, func(x): return 3*2, ]
    # [0, 2, 4, 6]
    # [6, 6, 6, 6]
    
    # 闭包函数的延迟绑定
    # 在内层函数执行时才会绑定变量i
    def multipliers2():
        list1 = []
        for i in range(4):
    
            def func(x, i=i):
    
                return x * i
    
            list1.append(func)
    
        return list1
    
    print([m(2) for m in multipliers2()])  # [0, 2, 4, 6]
    
    # [0, 2, 4, 6]
  • 相关阅读:
    Ubantu Mark
    异或
    C语言读书笔记
    Mark
    Python文件操作
    (转)Hadoop系列-IPC模型
    Java动态代理
    (转)适配器模式--Adapter Pattern
    关于abstract class 和 interface
    单例模式
  • 原文地址:https://www.cnblogs.com/qinsungui921112/p/11191788.html
Copyright © 2020-2023  润新知