预约成功
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相关工作面试顺利。