栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

9. python - 模块、包、标准库

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

9. python - 模块、包、标准库

文章目录
  • 9. 模块、包、标准库
    • 9.1 模块
      • 9.1.1 模块导入方法
      • 9.1.2 自定义模块
      • 9.1.3 __all__用法
    • 9.2 包
      • 9.2.1 创建包
      • 9.2.2 导入包
      • 9.2.3 `__init__.py` 作用
    • 9.3 查看模块方法
    • 9.4 标准库
      • 9.4.1 常见的标准库
      • 9.4.2 第三方库(模块)下载和安装

9. 模块、包、标准库 9.1 模块 9.1.1 模块导入方法
  • 一个.py文件就是一个模块,调用不同文件下的内容,就需要使用模块之间的调用方法
  • 模块名:文件名去掉后缀.py
  • 作用:
    • 提高代码的可复用、可维护性
    • 解决了命名冲突,不同模块中相同的命名不会冲突
  • 语法格式:
# 导入指定模块中的所有成员(包括变量、函数、类等)
import 模块名1 [as 别名1], 模块名2 [as 别名2]

# 调用方法
模块名.变量 或 别名.变量   
模块名.函数 或 别名.函数     
模块名.类 或 别名.类
# 导入模块中的指定成员(变量、函数、类)
from 模块名 import 成员名1 [as 别名1],成员名2 [as 别名2]

# 调用方法:直接使用, 可理解此方法相当于与把其它模块的内容复制一份到该模块中
成员名
别名

from 模块名 import * # 导入模块中所有内容
9.1.2 自定义模块
  • __name__ 用法
    • 当直接运行一个模块时,__name__ 变量的值为 __main__
    • 模块被导入其他程序中并运行该程序时,处于模块中的 __name__ 变量的值就变成了模块名
  • 自定义模块说明文档
    • 模块开头的位置定义一个字符串即可
    • 其它调用模块通过__doc__属性可以访问到说明文档
# demon模块
"""
demo 模块中包含以下内容:
name  字符串变量:初始值为:"QWQ"
age   变量:初始值为:18
say() 函数 作用
people类:包含 name 和 age 属性和 say() 方法
"""
name = "QWQ"
age = 18

def say():
	print("%s'age is %d"%(name, age))

class people:
	def __init__(self, name, age):
		self.name = name
		self.age = age
	def say():
		print("%s'age is %d"%(name, age))

# 调用模块
print(demon.__doc__)	# 打印出说明描述的字符串
  • __import__用法
    • 如果模块名不是规范的命名方式(例如以数字开头),直接导入会报错
    • __import__("不规则的模块名") 可导入命名不规范的模块
9.1.3 __all__用法
  • 向文件导入某个模块时,该模块中名称以下划线(单下划线_或者双下划线__)开头的变量、函数和类无法导入
  • 当用 from 模块名 import * 导入模块中内容时,被导入模块可用__all__ 来限制允许调用的内容,在该中的内容才允许被调用
  • 语法格式:__all__ = ["变量名","函数名","类名"]
9.2 包
  • 包 : 包含多个模块的文件夹,该文件夹有__init__.py文件
9.2.1 创建包
  • 建立一个文件夹
  • 创建__init__.py文件模块,该文件夹就是一个包
  • 一个包里面可以嵌套多个包
  • 如下示意图:创建一个包含module1和module2两个模块的包
9.2.2 导入包
  • 包的本质是一个模块,导入包的语法和模块导入类似
    • 方法1 : import 包名[.模块名 [as 别名]],调用:包名.模块名.调用内容
    • 方法2 : from 包名 import 模块名 [as 别名],调用:模块名.调用内容
    • 方法3 : from 包名.模块名 import 成员名 [as 别名],调用:直接使用调用内容
9.2.3 __init__.py 作用
  • 添加说明文档
    • 在__init__.py 中添加包的说明内容
    • 查看说明内容:print(包名.__doc__)
  • 导入包中模块
    • 从当前包导入指定模块,. 表示包名 : from . import 模块名
    • 从 .模块名 导入所有成员到包中 : from .模块名 import *
    • 其它模块 import 包名 导入该包后,就可以访问导入包中的模块内容
9.3 查看模块方法
  • dir()函数
    • 查看某指定模块包含的全部成员(包括变量、函数和类)
    • 语法格式:dir(模块名)
    • 返回包含全部变量名字符的列表
  • __all__变量
    • 语法格式 :模块名.__all__
    • 非所有的模块都支持使用 __all__ 变量
  • __doc__变量
    • 查看说明文档
    • 语法格式:查看对象.__doc__
  • __file__变量
    • 查看模块的源文件路径
    • 语法格式:模块名.__file__
9.4 标准库 9.4.1 常见的标准库
标准库说明
builtins内建函数默认加载
math数学库
random生成随机数
time时间
datetime日期和时间
calendar日历
hashlib加密算法
copy拷贝
functools常用的工具
os操作系统接口
re字符串正则匹配
sysPython自身的运行环境
multiprocessing多进程
threading多线程
json编码和解码 JSON 对象
logging记录日志,调试
9.4.2 第三方库(模块)下载和安装
  • pip命令:
    • 安装 :pip install 模块名
    • 卸载 : pip uninstall 模块名
    • 查看 : pip list 模块名

感谢阅读,如有错误,敬请见谅!!!


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/349705.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号