wordpress网站目录,淘宝有做钓鱼网站的吗,做时间轴的在线网站,运动网页设计模块和包 一个模块就是一个包含python代码的文件。一个文件就是一个模块 为什么要使用模块 1.现在程序开发文件比较大#xff0c;都放在一个文件中维护不方便#xff0c;拆分成多个文件方便维护与管理
2.模块可以增加代码的重用率
3.模块可以当作命名空间如何定义自己的模块 …模块和包 一个模块就是一个包含python代码的文件。一个文件就是一个模块 为什么要使用模块 1.现在程序开发文件比较大都放在一个文件中维护不方便拆分成多个文件方便维护与管理
2.模块可以增加代码的重用率
3.模块可以当作命名空间如何定义自己的模块 模块本身就是一个文件所有py代码都可以在文件中直接书写。不过我们开发共用模块时最好在模块中书写以下内容。 变量 模块中的属性值
函数 单独的功能
类 相似功能组合
模块测试代码 临时使用被导入时不会执行测试代码 测试代码经常在开发模块时用于测试模块的功能但是测试代码仅在开发和测试时使用被当作模块导入时不希望测试代码运行。需要使用name特殊变量来操作。 if __name__ __main__:#测试代码区域仅在吧当前文件直接运行时才会执行测试代码当作模块导入时则不会执行name 在直接运行当前文件时结果为main
name 被当作模块导入文件时结果为 模块名称
模块的导入方式 import 模块名
作用直接导入模块
使用方法模块名.变量名模块名.函数名模块名.类名.方法名()模块名.类名.属性名import 模块 as 别名
作用直接导入模块并且为模块起一个别名
使用方法别名.变量名别名.函数名别名.类名.方法名()别名.类名.属性名from 模块 import 某个函数或者类
作用直接导入模块中的某个方法或者某个类或变量
使用方法函数名()变量名类名.方法名()属性名from 模块 import 函数函数,类,类...
作用直接导入模块中的多个方法和多个类和变量
使用方法函数名()变量名类名.方法名()属性名from 模块 import *
作用直接导入模块中的所有方法和类和变量
使用方法函数名()变量名类名.方法名()属性名注意事项如果采用from 导入的方式要确保模块中的函数变量等内容不能与系统的内置函数同名否则会出现异常。 模块的存放 如果不想自己新建自定义的模块文件夹可以将我们自定义的模块存放到 python 目录中的\Lib\site-packages中。 搜索路径就是python在加载模块时候的查找路径 1.获取当前模块的搜索路径
import syssys.path 获取当前搜索路径的列表
2.将自定义的路径添加到列表中
sys.path.append(自定义路径)模块的加载顺序 导入模块操作的步骤
1.检测内存中是否已经加载过当前模块如果加载过直接使用加载的模块
2.如果内存中没有加载当前模块则搜索python的内置模块
3.如果当前内置模块中中没有该模块根据搜索路径查找并且加载模块包 包就是文件夹他用于存放文件也就是模块。包中也可以存放包 包的结构 包
|---- __init__.py 包的标志文件
|---- 模块1
|---- 模块2
|---- 子包(文件夹)
|-----|----__init__.py
|---- |----子模块1
|---- |----子模块2包的导入和使用 import 包.模块
使用方法包.模块.变量名包.模块.函数名包.模块.类名.属性名包.模块.类名.方法名()import 包.模块 as 别名
使用方法别名.变量名别名.函数名别名.类名.属性名别名.类名.方法名()from 包.模块 import 函数或者类或者属性
使用方法变量名函数名类名.属性名类名.方法名()from 包.模块 import *
使用方法变量名函数名类名.属性名类名.方法名()在__init__.py文件中添加内容当模块用 在此情况下可以将包当作模块直接导入使用 import 包
使用包.变量名包.函数名包.类名.属性名包.类名.方法名()import 包 as 别名
使用别名.变量名别名.函数名别名.类名.属性名别名.类名.方法名()from 包 import 函数,类变量
使用变量名函数名类名.属性名类名.方法名()from 包 import *
使用变量名函数名类名.属性名类名.方法名()包和模块的互相调用问题 如果在当前模块中需要调用其他模块或者包的内容时可以直接使用import 导入对应的包和模块就可以加载进来使用import 会搜索包和模块对应的搜索路径sys.path import 模块或者包__all__特殊变量的用法 在__init__.py文件中如果没有__all__变量那么使用from 包 import * 仅导入__init__.py中定义的方法和类及其他内容 在init.py文件中如果定义all变量那么使用from 包 import * 则会导入all指定的所有模块而忽略init.py文件中的信息 __all__ [模块,模块,子包。。。] #必须是列表