• 面试题目整理


    1.编写代码实现func函数,使其实现一下效果:(9s)

    foo=func(8)

    print(foo(8))   #输出64

    print(foo(-1))  #输出-8

    思路:实现一个闭包,内层函数调用外层函数

    方法一:

    缺点:变量名相同,容易混淆,单词不要写错了.

    def fun(i):
      def func(a):
        return a*i
      return func
    foo=fun(8)
    print(foo(8))
    print(foo(-1))

    方法二:

    def outer(arg1):
      def inner(arg2):
        return arg1*arg2
      return inner
    foo=outer(8)
    print(foo(8))
    print(foo(-1))

    方法三:(匿名函数)

    def fun(arg1):
      return lambda x:x*arg1
    foo=fun(8)
    print(foo(8))
    print(foo(-1))

       平时要多刷一些技术文章和blog.

      必须更努力学习,多学习,多写.

      社会是现实的!!!

    2.课后思考:用两个栈实现消息队列的功能?(对比汉诺塔)(面试题)

    https://blog.csdn.net/cherrydreamsover/article/details/80466781 

    用两个队列实现栈(互导)

    1.os和sys都是干什么的?

    os模块是与操作系统相关的

    os.path  //与路径相关的

    (1)拼接路径  win:  unix:/  a  a/b

    os.path.join("a","b")  //Django

    (2)获取当前操作系统的路径分隔符

    方法一:  os.path.seq  //可以打印出来

    方法二:  os.seq  

    比如:print(os.path.seq)

    (3).判断文件是否存在

    os.path.exists("文件的路径")

    (4)获取文件大小

    os.path.getsize("文件路径")

    (5)创建文件

    os.mkdir("文件路径")

    (6)获取文件的绝对路径  //Django

    ret=os.path.abspath(__file__)

    print(ret)          //绝对路径

    print(os.path.dirname(ret))  //绝对路径的上一级父目录

    sys是和python解释器相关的

    (1)sys.path  //获取当前解释器

    import sys
    print(sys.path) #sys.path是python的搜索模块的路径集,是一个list

    (2)

    sys.modules  #获取python解释器加载的所有模块

    sys.argv    #获取脚本运行时的参数

    sys.exit()

    2.你工作中都用过哪些内置模块

    time/re/json/hashlib/random/socket/collection/functools

    3.你有没有用过functools模块?

    (1)偏函数:partial(包装一层,制定一个默认参数,包装成另外一个参数)

      bin()  //将十进制转换成二进制

      print(bin(10))  //0b1010

      print(oct(10)  //0o12

    def ooss(arg1,arg2):
    
      return arg1/arg2
    
    ret=ooss(10,5)
    
    print(ret)  //2.0

    偏函数的用法;(参考廖雪峰的教程)

    print(int('1000',base=2))   #8
    print(int('100',base=2))    #4
    
    from functools import partial
    int2=partial(int,base=2)
    print(int2('10000'))     #16

    (2)reduce,wraps

    (3)namedtuple,命名元组

    from collections import namedtuple

    用法:orderDict:有序字典.

    要学会自己拓宽自己的知识面.

    回头再研究collections和functools.

    1.

    """
    问:1234能组成多少个不重复不相同的三位数?
    """
    
    # from collections import deque
    # from functools import reduce, partial
    from itertools import permutations, chain  # 排列s  Python Cook Book
    
    ret = permutations('1234', 3)
    print(list(ret))
    
    
    list1 = [11, 22, 33]
    list2 = ['aa', 'bb', 'cc']
    
    for i in chain(list1, list2):
        print(i)
    """
    问:1234能组成多少个不重复不相同的三位数?
    """

    # from collections import deque
    # from functools import reduce, partial
    from itertools import permutations, chain # 排列s Python Cook Book

    ret = permutations('1234', 3)
    print(list(ret))


    list1 = [11, 22, 33]
    list2 = ['aa', 'bb', 'cc']

    for i in chain(list1, list2):
    print(i)


    
    
  • 相关阅读:
    TortoiseSVN 实现文件的移动
    CSS选择器
    聚合报告90%参数说明
    JMeter响应断言详解
    测试结果分析
    Selenium+TestNG+Java报错:org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:40)
    在IntelliJ IDEA通过Maven添加依赖无效
    CentOS下安装TestLink
    Mysql存储过程生成指定格式的订单号
    Mysql使用函数生成指定随机字段内容
  • 原文地址:https://www.cnblogs.com/studybrother/p/10382322.html
Copyright © 2020-2023  润新知