模块与包
1-模块的概念:---试卷
一个.py文件就称之为一个模块(Module)
2-包的概念:---试卷夹
组织存放模块文件的目录,我们称之为包(Package)
3-模块与包的优势:
1-方便别人调用
2-避免同名变量/函数
3-每个模块中的变量名作用域只在本模块中
4-模块的使用:
1-同一个包内的调用:
1- import 模块名--- 相当于执行了一遍导入的模块
2-使用变量/函数:import后面的内容 . 函数/变量
3-如果我们模块名很长---as 取别名
1-优势:可以减少字符长度
2-避免同时导入2个/多个模块里面有同名函数,出现覆盖情况
4-from 模块名 import 函数/变量
from mathFunction import sumFun
sumFun(1,2)
导入全部:from mathFunction import * === import mathFunction
优势:可以节省字符长度描述
劣势:导一个用一个,如果还有需求,增加下
2-不同包的调用:
1-import testP.pTest testP.pTest.func()
1- import 需要使用其他模块的函数、变量、类---导入
import mathFunction
mathFunction.sumFun(1,2)
import moudleTest.mTest as mt # 不同包的模块
mt.test()
2- from import
from mathFunction import sumFun,difFun#比较针对性---不需要加前缀
sumFun(1,2)
difFun(2,1)
from moudleTest.mTest import test
test()
from moudleTest.mTest import *
from mathFunction import * #全部导入
sumFun(1,2)
difFun(1,2)
print(__name__)# 只要运行当前模块,那么__name__得到 __main__ 主模块
import mathFunction
3-__init__.py模块:
1-初始化模块
2-只要你调用这个包,那么该包的__init__.py,就会被执行!
5-标准库的使用:
1-不需要程序员去 import---直接使用变量和函数---print / open /len
2-import time
print(time.strftime("%Y_%m_%d %H:%M:%S"))
6-模块搜索规则:
1-import sys----sys.path
2- sys.path---第一个是空地址----当前目录
7-增加路径:
1-import sys---临时的
sys.path.append('g:/file')
2-set PYTHONPATH=g:/file
import time
print(time.strftime("%Y_%m_%d %H:%M:%S"))
import mathFunction
import sys
# sys.path.append('f:\\')
print(sys.path)
import mathFunction
# print('****begin mathFunction!****')
version = 0.1
buildData = '2018.02.08'
def sumFun(a, b):#定义
print('%d + %d = %d'% (a,b,a+b))
def difFun(a,b):#定义
print('%d - % d = %d' % (a,b,a-b))
# print('****end mathFunction!****')
print(__name__)# 如果只是被别的模块调用 __name__ 就是本身的模块
if __name__ == '__main__':
sumFun(1, 2)
difFun(2, 1)
8-安装第三方库:
1-直接复制到指定路径下
2-pip.exe---不能在解释器环境里运行 在cmd 运行
3-安装第三方库的时候红色字体报错提示更新pip 请按照它提供的指令升级
4- pip install selenium --安装(最新的) / pip uninstall selenium--卸载
5- 更新:pip install selenium -U
6- 默认是国外网站:
pip install Django -i https://pypi.douban.com/simple/