Python 中模块的导入(import,from-import-)

Python 中模块的导入(import,from-import-)

模块导入相关
  1. 别人写好的变量,函数,方法,放到一个文件中就是模块
  2. 不是所有的模块都是py文件,除此之外还有dll,zip文件
  3. 大多数自定义模块基本都是py文件,另外模块名要符合变量的命名规则
  4. 导入一个模块就是执行一个模块
  5. 使用模块中的一个方法(函数,变量等)时格式为 模块名.方法名
  6. 另外导入的模块和当前文件不在同一个命名空间,当前空间和模块空间只是指向关系
  7. 在当前空间中修改对象名或方法只是修改了指向,不会修改模块的内容
  8. 如果多次导入同一个模块也只会创建一个命名空间,即第一次导入创建,再导入就不会执行
  9. 模块的导入应该分类导入:内置模块,第三方模块,自定义模块,每个类型之间空格分开
包导入相关
  1. 所谓的包其实就是文件夹中有一个__init__.py文件】
  2. 包其实就是模块的集合
  3. 导入时凡是带点的左边都是包。如果使用from import则import后不带点
模块的 import 导入
  1. 导入一个模块, 格式为 import 模块名
  2. 导入多个模块, 格式为 import 模块1,模块2…用逗号把各模块分开
  3. 给模块起别名, 格式为 import 模块1 as 别名1,模块2 as 别名2
  4. 注意起完别名后,只能用别名来调用模块的方法,模块名调用失效
模块的 from import 导入
  1. 导入一个模块,form 文件名(包) import 模块名
  2. from import 导入时仍然会执行整个模块,但是import的谁就只能用谁
  3. 之所以存在from import 导入方法是因为直接import 文件名(包)时什么都不会发生,包中的模块方法也不能使用
  4. 导入多个模块, form 文件名(包) import 模块1,模块2…用逗号把各模块分开
  5. 给模块起别名, form 文件名(包) import 模块1 as 别名1,模块2 as 别名2…
  6. 导入所有模块, form 文件名(包) import *,导入模块中所有__all__=[]中的对象名,默认是所有对象名
  7. 另外__all__只能约束*的导入,不能约束其他
模块的在导入中出现的问题
  1. 模块不能循环引用,意思就是模块引用模块b后,b不能再引用a,否则会报错。
  2. 模块在导入时不能形成引用闭环,否则会报错,如a-b-c-a就会报错
  3. 程序在执行过程中修改其导入的模块,程序运行效果不会改变
  4. import importlib ,导入importlib,并使用importlib.reload(模块名),会重新加载模块
  5. 在cmd执行,或者python执行,直接运行,这个文件就是一个脚本,就是以脚本形式运行
  6. 导入这个文件,这个文件就是模块,就是以模块形式运行
  7. 脚本执行时应该有返回内容即输出,以模块执行时不应该有返回内容,此时可以用如下方式:
def func():
	pass
if __name__=__main__:
	func
  1. 模块搜索路径,见sys.path()
发布了66 篇原创文章 · 获赞 7 · 访问量 2372

猜你喜欢

转载自blog.csdn.net/qq_45894553/article/details/105068444
今日推荐