一、模块

模块就是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块
模块是非常简单的Python文件,单个Python文件就是一个模块,两个文件就是两个模块

# 1. python模块实质上是一个python文件。
# 2. 注意: 自定义的python文件的文件名一定不要和已有的模块冲突。
# 3. 导入模块实质上是加载并执行模块的内容。
# 4. 导入模块的几种方式:
"""
# 直接导入
import  hello
print(hello.digits)
hello.login()#部分导入
from hello import login
login()#重命名函数
from hello import  login as l
l()
"""
# 5. 模块的其他信息
import  sys
print(sys.path)  # 模块的查询路径import  hello
print(dir(hello)) # 查看hello模块可以使用的变量和函数....print(hello.__doc__)  # 查看模块的说明文档
print(hello.__file__) # 显示模块的绝对路径
print(hello.__name__) # __name__当模块被导入时,显示的是模块的名称。


hello.py

"""
hello模块的说明文档
"""
digits = '0123456789'def login():print('login.......')# __all__当用户使用from module import *时,需要导入的内容。
__all__ = ['digits']# 当模块内部执行时,需要执行的代码。 当模块被导入,则不执行。
if __name__ == '__main__':print(__name__)# 当在模块内部执行__name__的值为__main__.# 当模块被导入时,__name__的值为hello(模块名)

python在执行一个文件时有个变量 name
可以根据__name__变量的结果能够判断出,是直接执行的python脚本还是被引入执行的,从而能够有选择性的执行测试代码.
if name==‘main’:
pass

二、包

包将有联系的模块组织在一起,有效避免模块名称冲突问题,让应用组织结构更加清晰。
一个普通的python应用程序目录结构:

# __init__.py
from . import  ali
from . import  huawei
# ali.py
def create_ecs():print('创建阿里云')def delete_ecs():print("删除阿里云")
# huawei.py
def create_ecs():print('创建华为云')def delete_ecs():print("删除华为云")
# 1. 包实质上是包含__init__.py文件的目录。
# 2. 导入包实质是在做什么? 执行包里面的__init__.py的内容。
# 3. 导入包的方式:# 方法1:
from sdk import  ali
from sdk import  huaweiali.create_ecs()
huawei.create_ecs()# 方法2: 相对麻烦一些, 需要在包的__init__.py添加导入信息。
# import  sdk
# sdk.ali.create_ecs()
# sdk.huawei.create_ecs()

三、模块的分类

"""
模块的分类:
- 内置模块:time,datetime,random, string
- 第三方模块: requests, pandas, colorama, faker
- 自定义模块: 自己编写的python文件(模块)或者包如何安装模块?>pip install colorama -i https://pypi.douban.com/simple
"""

1.内置模块

import  time
print(time.time())  # 计算时间戳 1613812279.0698967
print(time.ctime()) # 字符串的时间 Tue Feb 23 23:11:19 2021
tuple_time = time.localtime()  # 元组类型的时间  2021
print(tuple_time.tm_year)from datetime import date, datetime, timedelta
print(date.today())  # 获取今天的日期
print(datetime.now())  # 获取当前时间 2021-02-20 23:12:19 2021
print(date.today() + timedelta(days=3))  # 获取3天后的日期
print(datetime.now() - timedelta(minutes=10))  # 获取10分钟之前的时间信息import  random
print(random.random())  # 生成0-1之间的小数  0.36057413002449834
print(random.randint(1, 10)) # 生成1-10之间的整数
print(random.choice(['user1','user2','user3'])) # 随机选择一个元素 user1
print(random.sample(['user1','user2','user3'], 2)) # 随机选择n(n=2)个元素 ['user3', 'user1']
print(random.choices(['user1','user2','user3'], weights=[100, 10, 10]))  # 随机选择一个元素,可以指定权重 ['user1']import  string
print(string.digits)  # 获取所有的数字
print(string.ascii_letters)  #所有大小写字母
print(string.ascii_lowercase)  #小写
print(string.ascii_uppercase)  #大写

2. 第三方模块

这里需要安装相应的模块才能实现:

(venv) D:\python\运维项目>pip install faker -i https://pypi.douban.com/simple
(venv) D:\python\运维项目>pip install colorama -i https://pypi.douban.com/simple
# 颜色模块
from colorama import Fore
print(Fore.RED + 'Error: 主机不存在')
print(Fore.GREEN + 'Success: 主机创建成功')# 生成测试信息的模块
from faker import  Faker
fake = Faker('zh-cn')
print(fake.name())
print(fake.address())
print(fake.email())

代码运行结果:

python模块与包相关推荐

  1. python模块与包的导入

    python模块与包的导入 1. 模块与包的区别 模块,即module,一个包含python语句的.py文件就是一个模块!每个源代码文件都会自动成为模块!没有额外的语法用来声明模块. 包,又称模块包, ...

  2. 【Python3】Python模块与包的导入

    [Python3]Python模块与包的导入 一.模块导入 1. 定义 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语 ...

  3. 【Python基础入门系列】第06天:Python 模块和包

    在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很 ...

  4. python模块和包_(三)运用Python模块和包

    1 引言 为了能够在Python项目中高效地运用Python模块和包,我们需要进一步地来了解它们是如何在Python项目中进行定义.使用和工作的. 2 Python模块和包 Python模块和包的基本 ...

  5. python模块及包的导入

    python模块及包的导入 模块(module) 本文从代码如诗中学习而来 模块(module) 模块分为标准库(不需要安装).第三方库(需要自己安装的).自定义模块(自己写的) 对于自定义模块 例如 ...

  6. python模块和包用法详解(__all__)

    1. 模块         Python 模块(Module),是⼀个 Python ⽂件,以 .py 结尾,包含了 Python 对象定义和Python语句.         模块能定义函数,类和变 ...

  7. 教你如何解决Python模块导包没有找到的问题

    一般情况下,Python模块导入推荐使用从根路径导入的写法,比如Node.js就使用相对路径的方式导入模块 例如 有如下目录 demo_project/module_a/file_a.py [func ...

  8. python 模块与包

    什么是模块? 模块就是一组功能的集合体,我们的程序可以导入模块来复用模块里的功能.即一个模块就是一个包含了一组功能的python文件,比如spam.py,模块名为spam,可以通过import spa ...

  9. python模块和包(模块、包、发布模块)

    模块和包 目标 模块 包 发布模块 01. 模块 1.1 模块的概念 模块是 Python 程序架构的一个核心概念 每一个以扩展名 py 结尾的 Python 源代码文件都是一个 模块 模块名 同样也 ...

  10. 【Python】详解Python模块、包、库

    本文目录 1.模块 定义模块 导入模块 调用模块中函数 方法1 模块名.函数名 方法2 from 模块名 import 函数名1.函数名2,.. 方法3 from 模块名 import * 给模块取个 ...

最新文章

  1. 建立企业级产品测试报告体系(概述)
  2. 互联网企业安全高级指南3.7.1 攻防驱动修改
  3. 2008台北英特尔信息技术峰会主题演讲精选-王文汉
  4. 科大讯飞副总裁刘鹏:人机交互的未来是人人交互?
  5. git@github.com: Permission denied (publickey). fatal: Could not read from remote repository.
  6. CAS单点登录原理简单介绍
  7. jparepository查询所有_JPA – JpaRepository 中使用的查询方法
  8. 【Elasticsearch】elasticsearch 查询 高亮
  9. 安卓中如何修改创建的模拟器的存储位置
  10. ubuntu系统安装百度云盘
  11. 目标检测算法之YOLOV5
  12. 记一次使用npm命令报错
  13. 官网VSCode无法下载解决方法
  14. ios关联启动_部落冲突电脑版与IOS设备关联教程
  15. win10 oracle11g 乱码,小编教你解决win10系统出现汉字乱码的处理办法
  16. MATLAB裁剪视频(裁剪固定区域)
  17. Echarts 图表制作建议指南思维导图,教你什么数据画什么图
  18. 华硕f540u内存条在哪里_华硕笔记本电脑怎么拆机添加内存条?
  19. 再一次被入侵之潜伏的挖矿病毒
  20. 七牛云存储的简单使用总结

热门文章

  1. mysql 换行_教你如何用Python 连接 MySQL
  2. 如何用文本档编辑c语言,c语言读写word文档
  3. es搜索热度属性_是不是场吊打局?奥迪A6L对比雷克萨斯ES
  4. mysql数据库生成json_Python3实现 将MySQL数据库中的记录生成JSON数据
  5. cd rw 多少次_程序员:想知道你每天按了多少次键盘吗?
  6. c#endread怎么打印出来_c# – Socket.EndRead 0字节意味着断开连接?
  7. SparkSQL之操作Hive
  8. 安利十二个常用的IPython魔法命令
  9. 太赞了!用200道题彻底搞定Python数据处理!
  10. python中的defaultdict_简介Python的collections模块中defaultdict类型的用法