1.python的模块:以py为结尾的文件称作模块。分为自定义模块、系统模块(import os
import csv、import random、import time、import json、import pickle......
。
(1)方法1: import模块名 #模块导入格式
使用:模块名.函数(参数)
(2)方法2:from模块名 import函数1,函数2,变量名 #使用模块中的哪些功能则导入哪个
使用:函数(参数)
(3)方法3:from模块名 import * #使用* 导入, 导入该模块中的所有内容
使用:函数(参数)
注意:* 表示导入该模块中的所有内容
但是如果想限制某些导入的内容可以在模块中加__all__=[可以被外界访 问的内容写到列表中]进行限制
(4)# 给导入的模块起别名
方法4:import numpy as np
方法5:from numpy import add as a
作用: 尽量简化代码,防止混淆\
(5)# 当导入模块时,会默认将模块文件从上到下执行1遍。
案例1 写如下模块(py文件)
分析:1.此模块名为:module01,模块中可调用的变量有:number,names, add(*args), func()
2. 因模块中有__all__=['add','names'],当导入方法为from module01 import *,外界只能用add,和names两个功能。 模块里的__all__限制的是模块里的哪些功能可以使用。
2.包:一个模块就是一个py 文件,在Python 里为了对模块分类管理,就需要划分不同的文件夹。多个有联系的模块可以将其放到同一个文件夹下,为了称呼方便,一般把Python 里的一个代码文件夹称为一个包。
python的包:多个有联系的模块可以将其放到同一个文件夹下,而此文件夹下还存在一个__init__.py的文件,则将此文件夹称作为python包
(1)包中模块的导入:
(1.如果使用import
import包名.模块名
使用:
包名.模块名.函数()
包名.模块名.变量名
(2. from...import
from包名.模块名 import函数名,变量
使用函数名()
注:如直接import demo01, 默认从项目文件下找,如果项目文件下和mydir文件夹下都有demo01,会默认选中项目文件下的,如果重名不会成功,因为当前的文件夹里不能有和导入的项目文件下的demo01重名的。所以import 下要基于项目文件写,写文件名.包名。
(3 __init__.py
# 可以把每次导入的公共的任务放在__init__里,如没有,可以空。
比如 __init__.py放在mydir文件夹里,,import mydir.module01,此时__init__.py会执行
# __all__限制本包里模块的使用,如果__init__没有__all__,导入*,无法使用任何模块。(读源码时需要知道此作用。只有__all__里有的模块可以访问。
(4 _ _name_ _:
自身执行py文件名字:__main__
如果是导入执行(from),__name__打印的就是模块名: module01
# 当导入模块时,会默认将模块文件从上到下执行1遍。如果希望模块文件部分代码自己运行可以用,被其他导入时无法使用,可借助__name__,
if __name__ =='__main__':
pass (#此代码只有本文件执行才让其运行)