python模块与包
一、模块
模块就是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块
模块是非常简单的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模块与包相关推荐
- python模块与包的导入
python模块与包的导入 1. 模块与包的区别 模块,即module,一个包含python语句的.py文件就是一个模块!每个源代码文件都会自动成为模块!没有额外的语法用来声明模块. 包,又称模块包, ...
- 【Python3】Python模块与包的导入
[Python3]Python模块与包的导入 一.模块导入 1. 定义 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语 ...
- 【Python基础入门系列】第06天:Python 模块和包
在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很 ...
- python模块和包_(三)运用Python模块和包
1 引言 为了能够在Python项目中高效地运用Python模块和包,我们需要进一步地来了解它们是如何在Python项目中进行定义.使用和工作的. 2 Python模块和包 Python模块和包的基本 ...
- python模块及包的导入
python模块及包的导入 模块(module) 本文从代码如诗中学习而来 模块(module) 模块分为标准库(不需要安装).第三方库(需要自己安装的).自定义模块(自己写的) 对于自定义模块 例如 ...
- python模块和包用法详解(__all__)
1. 模块 Python 模块(Module),是⼀个 Python ⽂件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块能定义函数,类和变 ...
- 教你如何解决Python模块导包没有找到的问题
一般情况下,Python模块导入推荐使用从根路径导入的写法,比如Node.js就使用相对路径的方式导入模块 例如 有如下目录 demo_project/module_a/file_a.py [func ...
- python 模块与包
什么是模块? 模块就是一组功能的集合体,我们的程序可以导入模块来复用模块里的功能.即一个模块就是一个包含了一组功能的python文件,比如spam.py,模块名为spam,可以通过import spa ...
- python模块和包(模块、包、发布模块)
模块和包 目标 模块 包 发布模块 01. 模块 1.1 模块的概念 模块是 Python 程序架构的一个核心概念 每一个以扩展名 py 结尾的 Python 源代码文件都是一个 模块 模块名 同样也 ...
- 【Python】详解Python模块、包、库
本文目录 1.模块 定义模块 导入模块 调用模块中函数 方法1 模块名.函数名 方法2 from 模块名 import 函数名1.函数名2,.. 方法3 from 模块名 import * 给模块取个 ...
最新文章
- 建立企业级产品测试报告体系(概述)
- 互联网企业安全高级指南3.7.1 攻防驱动修改
- 2008台北英特尔信息技术峰会主题演讲精选-王文汉
- 科大讯飞副总裁刘鹏:人机交互的未来是人人交互?
- git@github.com: Permission denied (publickey). fatal: Could not read from remote repository.
- CAS单点登录原理简单介绍
- jparepository查询所有_JPA – JpaRepository 中使用的查询方法
- 【Elasticsearch】elasticsearch 查询 高亮
- 安卓中如何修改创建的模拟器的存储位置
- ubuntu系统安装百度云盘
- 目标检测算法之YOLOV5
- 记一次使用npm命令报错
- 官网VSCode无法下载解决方法
- ios关联启动_部落冲突电脑版与IOS设备关联教程
- win10 oracle11g 乱码,小编教你解决win10系统出现汉字乱码的处理办法
- MATLAB裁剪视频(裁剪固定区域)
- Echarts 图表制作建议指南思维导图,教你什么数据画什么图
- 华硕f540u内存条在哪里_华硕笔记本电脑怎么拆机添加内存条?
- 再一次被入侵之潜伏的挖矿病毒
- 七牛云存储的简单使用总结
热门文章
- mysql 换行_教你如何用Python 连接 MySQL
- 如何用文本档编辑c语言,c语言读写word文档
- es搜索热度属性_是不是场吊打局?奥迪A6L对比雷克萨斯ES
- mysql数据库生成json_Python3实现 将MySQL数据库中的记录生成JSON数据
- cd rw 多少次_程序员:想知道你每天按了多少次键盘吗?
- c#endread怎么打印出来_c# – Socket.EndRead 0字节意味着断开连接?
- SparkSQL之操作Hive
- 安利十二个常用的IPython魔法命令
- 太赞了!用200道题彻底搞定Python数据处理!
- python中的defaultdict_简介Python的collections模块中defaultdict类型的用法