python模块和包

article/2025/8/26 10:19:39

模块

Python模块(Module) 是一个Python文件,以.py结尾,模块能定义函数、类和变量,模块里也能包含可执行的的代码

每一个模块都能帮助我们快速的实现一些功能,比如实现和时间相关的功能就可以使用time模块,我们可以认为一个模块就是一个工具包,每一个工具包中都有各种不同的工具供我们使用,进而实现各种不同的功能。

导入模块

import 模块名
from 模块名 import 功能名
from 模块名 import *
import 模块名 as 别名
from 模块名 import 功能名 as 别名

例1:导入time模块

import time
print('开始')
# 让程序睡眠1秒(阻塞)
time.sleep(1)
print('结束')

例2:导入time模块中的sleep方法

from time import sleep
print('开始')
# 让程序睡眠1秒(阻塞)
sleep(1)
print('结束')

例3:导入time模块中的所有方法

from time import *
print('开始')
# 让程序睡眠1秒(阻塞)
sleep(1)
print('结束')

例4:定义模块别名

import time as tt
tt.sleep(2)

例5:定义功能别名

from time import sleep as sl
sl(2)

自定义模块

python中已经实现了很多模块,有时候因为业务需要一些个性化的模块,需要通过自定义模块实现,也就是开发人员自己制作模块

新建一个python文件,命名为simple_module.py定义一个test函数
在这里插入图片描述

每个python文件都可以作为一个模块,模块的名字就是文件的名字,即自定义模块名必须符合标识符命名规则

从物理角度,包就是一个文件夹,在该文件夹下包含了一个__init__.py 文件,该文件夹用于包含多个模块文件
从逻辑角度,包的本质依然是模块

包的作用:当模块文件越来越多的时候,包可以帮助开发人员管理这些模块,包的作用就是包含多个模块,其本质依然是模块

导入包的方式

  1. import 包名.模块名
  2. __init__.py 文件中添加__all__=[] ,控制允许导入的模块列表

http://www.hkcw.cn/article/YvIWeHxTOS.shtml

相关文章

《仿盒马》app开发技术分享-- 订单列表页(端云一体)

开发准备 上一节我们实现了订单详情的展示,但是我们的确认订单页面只在下单成功后才会出现供用户查看,现在我们要有一个常驻的入口让用户去随时查看自己的订单以及订单状态,订单状态分为多个,还需要给用户提供切换的功能 功能分…

【第3章 文本】3.3 文本的定位

文章目录 水平与垂直定位示例textAligntextBaseline 将文本居中文本的度量绘制坐标轴旁边的文本标签在圆弧周围绘制文本 水平与垂直定位 在canvas中使用 strokeText() 或 fillText() 绘制文本时,需要指定所绘文本的 X 和 Y 的坐标,然而,浏览…

C++哈希

一.哈希概念 哈希又叫做散列。本质就是通过哈希函数把关键字key和存储位置建立映射关系,查找时通过这个哈希函数计算出key存储的位置,进行快速查找。 上述概念可能不那么好懂,下面的例子可以辅助我们理解。 无论是数组还是链表,查…

Java中的设计模式实战:单例、工厂、策略模式的最佳实践

Java中的设计模式实战:单例、工厂、策略模式的最佳实践 在Java开发中,设计模式是构建高效、可维护、可扩展应用程序的关键。本文将深入探讨三种常见且实用的设计模式:单例模式、工厂模式和策略模式,并通过详细代码实例&#xff0…

QT6搭建和使用MQTT

QT6搭建和使用MQTT 1.搭建MQTT环境1.下载源码2.CMake 编译 Qt MQTT 模块3.添加QT MQTT模块4.验证测试 2.MQTT的使用 1.搭建MQTT环境 1.下载源码 1.在GitHub下载对应qt版本的源码 git clone git://code.qt.io/qt/qtmqtt.git -b 6.5.3 这里以6.5.3版本的为例。 这里使用的是VS…

深入了解 C# 异步编程库 AsyncEx

在现代应用程序开发中,异步编程已经成为提升性能和响应能力的关键,尤其在处理网络请求、I/O 操作和其他耗时任务时,异步编程可以有效避免阻塞主线程,提升程序的响应速度和并发处理能力。C# 提供了内建的异步编程支持(通…

使用 Azure DevOps 管道部署到本地服务器

Azure DevOps 是一个帮助改进 SDLC(软件开发生命周期)的平台。 在本文中,我们将使用 Azure Pipelines 创建自动化部署。 Azure DevOps 团队将 Azure Pipelines 定义为“使用 CI/CD 构建、测试和部署,适用于任何语言、平台和云平台”。 在这里,我将解释如何在 Azure Dev…

NSSCTF-[青海民族大学 2025 新生赛]wenshilou

下载附件得到jpeg图片 放到kali里面用binwalk命令进行分离 分离之后得到文件 点击zip文件里面有个flag,打开得到base64编码 直接放到随波逐流里面解码 得到flag NSSCTF{welcometoQinhaiminzudaxue}

React 编译器

🤖 作者简介:水煮白菜王,一位前端劝退师 👻 👀 文章专栏: 前端专栏 ,记录一下平时在博客写作中,总结出的一些开发技巧和知识归纳总结✍。 感谢支持💕💕&#…

【机器学习基础】机器学习入门核心算法:K均值(K-Means)

机器学习入门核心算法:K均值(K-Means) 1. 算法逻辑2. 算法原理与数学推导2.1 目标函数2.2 数学推导2.3 时间复杂度 3. 模型评估内部评估指标外部评估指标(需真实标签) 4. 应用案例4.1 客户细分4.2 图像压缩4.3 文档聚类…

力扣热题100之二叉树的最大深度

题目 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 代码 方法一:递归 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightN…

【C++编程】C++学习笔记【更新ing】

C学习笔记 作者:齐花Guyc(CAUC) 文章目录 C学习笔记Chapter.1 面向对象编程(OOP)1.类(class)2.对象(object)3.封装(Encapsulation)4.继承(Inheritance&#…

华为OD机试真题——矩形相交的面积(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现

2025 A卷 100分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…

STM32F407VET6学习笔记7:Bootloader跳转APP程序

boot跳转APP的程序 目录 Flash分区设定: 工程文件地址设置: Bootloader工程文件: 测试的APP程序工程文件: Bootloader跳转程序: APP程序: Flash分区设定: 参考手册的分区: 工程文件…

5.29 打卡

DAY 39 图像数据与显存 知识点回顾 图像数据的格式:灰度和彩色数据模型的定义显存占用的4种地方 模型参数梯度参数优化器参数数据批量所占显存神经元输出中间状态 batchisize和训练的关系 作业:今日代码较少,理解内容即可 # 打印一张彩色图像…

关于scrapy在pycharm中run可以运行,但是debug不行的问题

关于scrapy在pycharm中run模式可以运行,但是debug模式不行的问题 文章目录 关于scrapy在pycharm中run模式可以运行,但是debug模式不行的问题查了下原因 点击run就可以运行,但是debug就是运行不了 一点击debug就报这个错,也不知道啥…

第7讲、Odoo 18 源码深度分析

Odoo 作为全球知名的开源 ERP 系统,其底层架构由众多核心 Python 文件共同支撑。本文将围绕 Odoo 18 版本中 的 api.py、exceptions.py、fields.py、http.py、loglevels.py、models.py、netsvc.py、release.py、sql_db.py 等关键文件,进行源码结构与实现…

【春秋云镜】CVE-2022-26965 靶场writeup

知识点 网站的主题或者模块位置一般是可以上传文件的,不过一般为压缩包形式主题或者模块可以上github上找到和cms匹配的源码主题被解压后会放到加入到对应的文件夹中,而且还会自动执行对应的info.php文件(需要主题和cms配套才行)我这里取巧了&#xff0…

JUC多线程核心知识点深度解析

最近正在复习Java八股,所以会将一些热门的八股问题,结合ai与自身理解写成博客便于记忆 本文将从以上10个经典面试问题来做juc多线程的解析 一、线程状态与流转机制 1. 六种线程状态(Java定义) public enum State {NEW, …

设计模式学习笔记

设计模式 一:分类: 创建型模式 用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。GoF(四人组)书中提供了单例、原型、工厂方法、抽象工厂、建造者等 5 种创建型模式。 结构型模式 用于描述如何将…