• python常见面试题


    第1题:
    是否遇到过python的模块间循环引用的问题,如何避免它?
    这是代码结构设计的问题,模块依赖和类依赖
    如果老是觉得碰到循环引用可能的原因有几点:
    1.可能是模块的分界线划错地方了
    2.可能是把应该在一起的东西硬拆开了
    3.可能是某些职责放错地方了
    4.可能是应该抽象的东西没抽象
    总之微观代码规范可能并不能帮到太多,重要的是更宏观的划分模块的经验技巧,推荐uml,脑图,白板等等图形化的工具先梳理清楚整个系统的总体结构和职责分工
    采取办法,从设计模式上来规避这个问题,比如:
    1. 使用 “__all__” 白名单开放接口
    2. 尽量避免 import

    第2题:
    Python中如何定义一个函数
    有2种方法:
    第1种:
    def func(arg, *args, **kwagrs): #普通函数
    func_body
    return
    第2种:
    lambda x: x **2 #匿名函数

    第3题:
    请写出一段Python代码实现删除一个list里面的重复元素
    >>> L1 = [4,1,3,2,3,5,1]
    >>> L2 = []
    >>> [L2.append(i) for i in L1 if i not in L2]
    >>> print L2
    [4, 1, 3, 2, 5]

    第4题:
    Python是如何进行内存管理的?
     python内部使用引用计数,来保持追踪内存中的对象,Python内部记录了对象有多少个引用,即引用计数,当对象被创建时就创建了一个引用计数,当对象不再需要时,这个对象的引用计数为0时,它被垃圾回收。所有这些都是自动完成,不需要像C一样,人工干预,从而提高了程序员的效率和程序的健壮性。

    第5题:
    写一个简单的Python socket编程。
    socket是用来进行网络编程用的接口,网络编程分为服务器端和客户端
    服务器端代码如下:
    import socket
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.bind(('localhost', 8001))
    sock.listen(5)
    while True:
    conn, addr = sock.accept()
    try:
    conn.settimeout(5)
    buff = conn.recv(1024)
    if buff == '1':
    conn.send('Hello, Client...')
    else:
    conn.send('Please, Go Out...')
    except socket.timeout:
    print 'Socket Time Out...'
    finally:
    conn.close()
    

    客户端代码如下:
    import socket
    import time
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect(('localhost', 8001))
    time.sleep(2)
    sock.send('1')
    print sock.recv(1024)
    sock.close()
    

    第6题:
    src = "security/afafsff/?ip=123.4.56.78&id=45",请写一段代码用正则匹配出IP。

    import re
    src = "security/afafsff/?ip=123.4.56.78&id=45"
    m = re.search('ip=(d{1,3}.d{1,3}.d{1,3}.d{1,3})', src, re.S) # re.S 改变'.'的行为
    print(m.group(1))
    
    # 输出结果
    >>>
    123.4.56.78
  • 相关阅读:
    python爬虫----XPath
    定时爬取海丝财经网站新闻内容
    传染病传播模型(SIS)Matlab代码
    李航统计学习方法——算法3朴素贝叶斯法
    李航统计学习方法——算法2k近邻法
    文件从开头删除几个字符,整个磁盘的变化
    intel DSA spec 解读
    线上上课=大屏电视显示+nuc做机顶盒+手机做移动麦克风
    VPP/UPF/GTP
    超标量
  • 原文地址:https://www.cnblogs.com/mlan/p/8125549.html
Copyright © 2020-2023  润新知