zoukankan      html  css  js  c++  java
  • py三个面试小问题

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

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

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

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

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

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

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

     

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

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

     

    3、什么是Python自省?

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

  • 相关阅读:
    SQL通配符
    全角半角内容转换
    使用merge into 来更新目标表的个别字段
    数据库分库分表思路
    impdp导入错误ORA-14460
    CentOS只有GNOME桌面,没有GNOME经典桌面
    sqlserver进行发布订阅时提示实例上未安装复制组件解决方法
    SQLSERVER发布订阅,超详细
    sqlserver查询锁以及解锁
    sqlserver调用java文件
  • 原文地址:https://www.cnblogs.com/twinkle-/p/10491806.html
Copyright © 2011-2022 走看看