导航
  • 报考
  • 备考
  • 政策

报考

备考

复习资料

政策

行业动态

面试|听说你要从事python行业?谈谈python模块化

环球网校·2019-10-22 09:49:46浏览54 收藏16

请输入下面的图形验证码

提交验证

预约成功

我知道了
摘要 今天给大家解答一道Python常见的面试题,希望这个面试栏目,给那些准备面试的同学,提供一点点帮助!小编会从最基础的面试题开始,每天一题。有很多人在面试的时候都会遇到这样的问题,有面试官希望你来谈谈python模块化,今天要说的是python模块化。

1、问题:python模块化可以解决什么问题?

答:python模块化,可以很方便的对代码进行解耦,化繁为简,只需要调用即可实现。后期的配置,更改更为简单。

2、问题:引入模块的方式?

答:可以使用: from xx import xx 或者 import xxx

3、问题:__ init__.py文件是什么?

答:在模块所在的文件夹新建一个 __init__.py,内容可以为空,也可以用来表述包对外暴露的模块接口。

实上,这是 Python 2 的规范。在 Python 3 规范中,__init__.py 并不是必须的。

4、问题:如何将项目模块化?

答:虽然运行 sys.path.append("..") ,则可以改变当前 Python 解释器的位置,但是不要使用。

在大型工程中尽可能使用绝对位置是第一要义。对于一个独立的项目,所有的模块的追寻方式,最好从项目的根目录开始追溯,这叫做相对的绝对路径。

以项目的根目录作为最基本的目录,所有的模块调用,都要通过根目录一层层向下索引的方式来 import。

5、问题:sys.path列表表示什么?

答:Python 解释器在遇到 import 的时候,它会在一个sys.path的列表中寻找模块。所以,sys.path 表示的是Python执行程序导入包的查找路径。

它的第一项为空,第一项设置为项目根目录的绝对地址。

6、问题:项目的包一半如何管理?

答:使用Python 的 Virtual Environment(虚拟运行环境)。Python 可以通过 Virtualenv 工具,非常方便地创建一个全新的 Python 运行环境。

对于每一个项目来说,最好要有一个独立的运行环境来保持包和模块的纯净性。

7、问题:if __name__ == '__main__' 是什么意思?

答: __name__ 作为 Python 的魔术内置参数,本质上是模块对象的一个属性。我们使用 import 语句时,__name__ 就会被赋值为该模块的名字,自然就不等于 __main__了。

所以,import 在导入文件的时候,会自动把所有暴露在外面的代码全都执行一遍,而在if __name__ == '__main__' 内部的代码不会被执行。

注意: import 模块的时候,会执行该模块,所以最终执行的代码是在该文件下的文件加上所有导入的代码。(可以适当幻想一下~)。

以上就是今天的全部内容了,如果面试的时候有人问你“谈谈python模块化?”这个问题,小编相信大家应该不会再慌了,如果对于对于实践方面有疑问的同学,可以关注环球网校的其他python内容!环球网校的小编在这里祝大家python相关工作面试顺利。

展开剩余
资料下载
历年真题
精选课程
老师直播

注册电脑版

版权所有©环球网校All Rights Reserved