标签:导入模块 strong 列表 两种 运行 运行时 str 自己 左右
一、模块相关
1.定义:在python中,封装功能的最小单位是函数,而功能的集合体(通常是一个py文件)就是一个模块,简单的来说,模块就是一个py文件,是封装语句的最小单位。
2.分类:模块分为内置模块,大概200左右,第三方模块6000多个,以及自定义模块;内置模块就是一些我们常用的一些功能,第三方模块是其他开发者实现的一些实用的功能,自定义模块使我们在做项目的时候根据需要写得模块。
3.模块运行方式:
a、脚本方式:用解释器执行,或者在pycharm中右键执行,一个文件就是一个程序,用来被执行。
b、模块方式:文件中存放着一些功能函数,被其他模块导入执行,为导入它的模块提供资源(函数定义、类定义等)。
4.__name__的作用:
该方法可以测试出自定义模块是处于开发阶段,还是处于使用阶段。当模块以脚本方式运行时,执行该命令的结果是__main__,如果是以模块的方式运行时,结果就是模块的名字。
二、模块的导入
1.import语句:导入模块,有两种方法,一种是import 模块名,还有一种方法是from 模块名 import 需要的函数或者变量,当需要导入多个函数或者变量的时候,可以使用逗号将模块名隔开,全部导入就写导入星号(from qidian import *或import *),但是不建议写到一起,最好是分开写(就是导入几个模块就写几个import语句)这样方便阅读。python在导入模块时,会将模块进行加载,方便后续的操作,第一次进行加载时,会先进行下面的操作:
a、创建一个以模块名命名的名称空间。( import导入时每个模块都是一个独立的名称空间,定义在这个模块中的函数,把这个模块的名称空间当做全局名称空间,而使用from方法导入的函数或变量会直接加载到目标的名称空间中,这样有一个问题,就是会有相同的变量名,这样会引起冲突,所以还是建议用import方法。)
b、执行这个名称空间(即导入的模块)里面的代码。
b、通过此模块名. 的方式引用该模块里面的内容(变量,函数名,类名等)。
2.系统导入模块的路径
a、首先会在内存中进行加载,如果之前成功导入过某个模块,直接使用已经导入的模块,另外的内置模块会加载到sys.modules中。
b、在内存路径中,内置模块的文件夹是lib。
c、在sys,path终会有一个路径的列表,这个列表可以自己动态导入。
3.为模块起别名:
a、对于较长的模块名来说,短的模块名有利于操作,使操作更加的便捷,例如 import abcdefghijklmn as a。
b、别名有利于代码的优化。
4.需要注意的是,无论是给模块自定义名称还是起别名,都要与内置函数、内置的模块区分开,不要出现重名的现象。
标签:导入模块 strong 列表 两种 运行 运行时 str 自己 左右
原文地址:https://www.cnblogs.com/superpoint/p/14342470.html