Python中如何使用模块
import 调用包 (相当于把整个调用包的代码直接粘贴到前面)
构造模块的时候,模块名称也要遵守变量的命名规则
如果调用的包数字开头,可以importlib实现导入数字开头的模块名称,如:import importlib
yang = importlib.import_module("01")
#相当于把01复制给了yang,以后直接可以用yang调用01模块
也可以 import 模块 as 别名:import 01 as yang
如果在使用包的时候,不需要整个模块的内容,只需要其中一个,或几个模块,可以 from ... import ...,...来调用:
#如调用bs4中的beautifulsoup模块from bs4 import beautifulsoup
在下面就可以直接调用这个模块
调用包的所有内容:from bs4 import *
if name == "main"的使用:
可以有效避免模块代码被导入的时候被动执行的问题
建议所有程序入口都已此代码为入口
模块的搜索路径和存储
什么是模块的搜索路径:
加载模块的时候,系统会在那些地方寻找此模块
系统的默认的搜索路径:import sys
sys.path 属性可以看到搜索路径
案例:py6
添加搜索路径:sys.path.append(dir)
模块的加载顺序:
1.搜索内存中加载好的模块
2.搜索Python的内置模块
3.搜索sys.path路径
包
包是一种组织管理代码的方式,包里放着模块
,自定义包的结构/--- 包
/---/--- init.py 包的
/---/--- 模块1
/---/--- 模块2
/---/--- 子包
/---/---/--- init.py 包的标志文件
/---/---/--- 子包的模块1
包的导入操作import package_name
-直接导入一个包,可以直接使用__init__.py的内容
使用方式:package_name.func_name
package_name.class_name.func_name()
此种访问的内容是:
案例:pkg01,p07.pyimport package name as p
具体用法跟作用方法,跟上面一致
注意的是此方法默认是对 init.py的内容进行导入import package.module
导入某一个具体的模块
使用方法:package.module.func_name
from ... import 导入
from package import module,module2.....
此种方法不导入 'init'的内容
from package import *
导入指定包的所有内容。