• py三个面试小问题


    1、是否遇到过Python的模块间循环引用的问题,如何避免它?

    这是代码结构设计的问题,模块依赖和类依赖,如果老是觉得碰到循环引用可能的原因有几点:

    a.可能是模块的分界线划错地方了

    b.可能是把应该在一起的东西硬拆开了

    c.可能是某些职责放错地方了

    d.可能是应该抽象的东西没抽象

    总之微观代码规范可能并不能帮到太多,重要的是更宏观的划分模块的经验技巧,推荐uml,脑图,白板等等图形化的工具先梳理清楚整个系统的总体结构和职责分工,采取办法,从设计模式上来规避这个问题,比如:使用 “__all__” 白名单开放接口,尽量避免import。

     

    2、Python是如何进行内存管理的?

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

     

    3、什么是Python自省?

    Python自省是Python具有的一种能力,使程序员面向对象的语言所写的程序在运行时,能够获得对象的类Python型。Python是一种解释型语言。为程序员提供了极大的灵活性和控制力。

  • 相关阅读:
    经典语录二
    squid通过正向代理访问互联网
    jQuery
    CSS常用属性
    css基本选择器
    html标签
    事件驱动模型与IO模型
    协程
    进程与线程
    软件安装 yum rpm
  • 原文地址:https://www.cnblogs.com/twinkle-/p/10491806.html
Copyright © 2020-2023  润新知