一个模块可以包含 变量、函数、类或者C、C++的扩展等等
现在我定义一个 model.py 模块,里面定义变量、函数、类
文件名称叫 model.py ,模块名词就叫 model
一、模块定义:就是一个py文件(模块名.py)
model模块
模块用法:用上面 model 模块举例,新建一个模块 user_model.py
1、import model:导入模块
# user_model.py 文件,模块名称就叫 user_model
import model
print(model.member) # 调用 model 模块中的变量
model.func() # 调用 model 模块中的函数
p = model.Person() # 实例化 model 中的 Person类
p.fun() # 调用 Person 类中的方法
2、from model import Person:导入单个成员
# user_model.py 文件,模块名称就叫 user_model
from model import member
from model import func
from model import Person
print(member) # 返回:全局变量 解读:调用 model 模块中的变量
func() # 返回:一个函数 解读:调用 model 模块中的函数
p = Person() # 解读:实例化 model 中的 Person类
p.fun() # 返回:一个方法 解读:调用 Person 类中的方法
3、from model import *:导入所有成员
# user_model.py 文件,模块名称就叫 user_model
from model import *
print(member) # 返回:全局变量 解读:调用 model 模块中的变量
func() # 返回:一个函数 解读:调用 model 模块中的函数
p = Person() # 解读:实例化 model 中的 Person类
p.fun() # 返回:一个方法 解读:调用 Person 类中的方法
4、from model import Person as P:把 Person 加上别名
# user_model.py 文件,模块名称就叫 user_model
from model import member as M
from model import func as F
from model import Person as P
print(M) # 返回:全局变量 解读:调用 model 模块中的变量
F() # 返回:一个函数 解读:调用 model 模块中的函数
p = P() # 解读:实例化 model 中的 Person类
p.fun() # 返回:一个方法 解读:调用 Person 类中的方法
5、导入多个模块(模块只导入一次,写多次也只导入一次)
# 两种方式,推荐第二种方法
import sys, os # 第一种方式
import sys # 第二种方式
import os
二、包定义:文件夹通过 __init__.py 文件,组织模块(__init__.py 可以为空)
pkg包和web包
包用法:page 模块中调用 model 模块中的成员
1、import pkg:导入包时,只执行包内 __init__.py 文件
# pkg包 的 __init__.py文件
from pkg import model
# page.py 文件,模块page
import pkg # 如果这个__init__.py 文件为空,这样导入无法使用
print(pkg.model.member) # 解读:调用 model 模块中的变量
pkg.model.func() # 解读:调用 model 模块中的函数
p = pkg.model.Person() # 解读:实例化 model 中的 Person类
p.fun() # 解读:调用 Person 类中的方法
2、from pkg import model:导入模块
# page.py 文件,模块page
from pkg import model
print(model.member) # 解读:调用 model 模块中的变量
model.func() # 解读:调用 model 模块中的函数
p = model.Person() # 解读:实例化 model 中的 Person类
p.fun() # 解读:调用 Person 类中的方法
3、from pkg.model import Person:导入成员
# page.py 文件,模块page
from pkg.model import member
from pkg.model import func
from pkg.model import Person
print(member) # 解读:调用 model 模块中的变量
func() # 解读:调用 model 模块中的函数
p = Person() # 解读:实例化 model 中的 Person类
p.fun() # 解读:调用 Person 类中的方法
4、from ... import ... as ...;所有的导入都可以加 as 别名
此处省略1000字
5、导入多个模块(模块只导入一次,写多次也只导入一次)
# 导入模块:两种方式,推荐第二种方法
from pkg import model, user_model # 第一种方式
from pkg import model # 第二种方式
from pkg import user_model
# 导入成员:两种方式,推荐第二种方法
form pkg.model import member, func, Person # 第一种方式
from pkg.model import member # 第二种方式
from pkg.model import func
from pkg.model import Person
转载自今日头条:python一看便懂