HSP_09章 模块和包

news2024/11/17 16:22:52

文章目录

  • P102 模块的常见应用场景分析
  • P103 模块的基本介绍
    • 1. 导入模块import
    • 2.实例演示
  • P104 自定义模块
    • 1.自定义模块的介绍:
    • 2. 注意事项和使用细节
      • 2.1 使用 __name__可以避免模块中测试代码的执行
      • 2.2 使用__all__可以控制 import *时,哪些功能被导入,注意:` import 模块`方式,不受__all的限制
  • P105 Python_包
    • 1. 包的基本介绍
    • 2. 包的结构
    • 3. 包的注意事项和使用细节
      • 3.1 导入包基本语法
      • 3.2 导入包的模块的指定的函数、类、变量
      • 3.3 __init_.py 通过__all__控制允许导入的模块
      • 3.4 包可以有多个层级
      • 3.5 注意事项和使用细节
  • P106 Python_三方库
    • 1. 第三方库基本介绍
    • 2. pip安装
    • 3. pycharm 安装
  • *本章知识点梳理和回顾

P102 模块的常见应用场景分析

pytyon模块官方文档地址

  • jackmodule.py
def hi():
    print("hi jack")
  • tomodule.py
def hi():
    print("hi tom")
  • use.py
import jackmodule
import tommodule

jackmodule.hi()
tommodule.hi()

P103 模块的基本介绍

  • 模块是什么
    在这里插入图片描述

  • 模块的作用有哪些
    在这里插入图片描述
    在这里插入图片描述

参考文档: https://docs.python.org/zh-cn/3.12/tutorial/index.html

1. 导入模块import

在这里插入图片描述

2.实例演示

  • 10:40 导入一个或多个模块
    在这里插入图片描述
# 代码演示
import  math
import random

# 得到一个数的绝对值
print(math.fabs(-11.2))

# 从列表中随机返回一个元素
print(random.choice(['apple','banana','pear']))


  • 14:15 导入模块的指定功能
    在这里插入图片描述
# 代码演示

#  from模块 import 函数/类/变量...
from math import fabs
# 返回x的绝对值
print(fabs(-11.2))

  • 16:22 导入模块的全部功能

在这里插入图片描述

# 代码演示

#  from模块 import 函数/类/变量...
from math import *
# 返回x的绝对值
print(fabs(-11.2))


 查看函数全部功能的两种方式: 
1. Ctrl+ B 选择对应模块名称,进入该模块的py文件=>structure 
2. python文档查看

  • 20:00 给导入的模块和功能取别名
  • 在这里插入图片描述
# 给导入的模块和功能取别名

# 模块取别名
import random as r
print(r.randint(1, 100))

# 函数取别名
from math import fabs as f
print(f(-1.0))

P104 自定义模块

1.自定义模块的介绍:

自定义模块:在实际开发中,python提供的标准库模块不能满足开发需求,程序员需要一些个性化的模块,就可以进行自
定义模块的实现

2. 注意事项和使用细节

2.1 使用 __name__可以避免模块中测试代码的执行

文档:

  • https://docs.python.org/zh-cn/3.12/reference/import.html?highlight=name#name__

  • https://docs.python.org/zh-cn/3.12/library/main.html#

自定义模块注意事项

# yzz_module1.py

def hi():
    print("hi")

def ok():
    print("ok")


if __name__ == "__main__":
    hi()
# a.py

from yzz_module import *

hi()
ok()

在这里插入图片描述

2.2 使用__all__可以控制 import *时,哪些功能被导入,注意: import 模块方式,不受__all的限制

# yzz_module1.py

# 在yzz module1.py 中,没__all__时,会导入所有的功能
# 使用了__all__=['ok']在其它文件使用 from yzz_module1 import*只会导入ok()
# 注意: import 模块方式,不受__all__的限制

# 表示如果其它文件使用的是 from yzz_module1 import *导入,则只能导入ok函数
# __all__=['ok','hi'] # 可以放开的函数功能
 __all__=['ok'] # 只开放ok的函数功能

def hi():
    print("hi")

def ok():
    print("ok")


if __name__ == "__main__":
    hi()
# a.py

from yzz_module import *
d
hi() # 会报错
ok()


# import 模块方式, 不受__all__的限制
import yzz_module as y

y.hi()
y.ok()

P105 Python_包

文档: https://docs.python.org/zh-cn/3.12/tutorial/modules.html#packages

应用场景

  • 一个实际的项目,可能需要很多的模块,当模块文件越来越多,如果我们将所有的模块文件都放在同一个文件夹,就会带来很多问题,不利于管理和调用,怎么办?-》包

在这里插入图片描述

1. 包的基本介绍

在这里插入图片描述

2. 包的结构

在这里插入图片描述

3. 包的注意事项和使用细节

3.1 导入包基本语法

在这里插入图片描述

3.2 导入包的模块的指定的函数、类、变量

在这里插入图片描述

# 导入包的模块的指定的函数、类、变量
from hsp_package.module01 import  hi

hi()

# 导入包的模块的全部功能
from hsp_package.module01 import *

hi()
ok()

3.3 _init.py 通过__all__控制允许导入的模块

视频链接:空降
在这里插入图片描述

3.4 包可以有多个层级

在这里插入图片描述


#包可以有多个层级
#使用方式1
import hsp_package.hsp_package2.module03
hsp_package.hsp_package02Imodule03.cal(10,30)

#使用方式2
from hsp_package.hsp_package2.module03 import  cal
cal(6090)

#方式3
from hsp_package.hsp_package2 import module03
#使用块名.功能名调用
module03.cal(9010)

3.5 注意事项和使用细节

  • 导包 快捷键
    在这里插入图片描述
    ps: 说明: 使用哪一种导入方式,根据业务需求来确定即可

P106 Python_三方库

参考: https://zhuanlan.zhihu.com/p/138634430

1. 第三方库基本介绍

在这里插入图片描述

  • 常见的第三方库
  1. 网络爬虫
    在这里插入图片描述
  2. 自动化
    在这里插入图片描述在这里插入图片描述
  3. 数据分析及可视化
    在这里插入图片描述
  4. WEB开发
    在这里插入图片描述
  5. 机器学习

在这里插入图片描述

6.其他常用
在这里插入图片描述

2. pip安装

  • 基本使用
    在这里插入图片描述
  • 指定pip源

在这里插入图片描述

3. pycharm 安装

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述

*本章知识点梳理和回顾

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1838967.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

禅道身份认证绕过漏洞(QVD-2024-15263)复现

禅道项目管理系统在开源版、企业版、旗舰版的部分版本中都存在此安全漏洞。攻击者可利用该漏洞创建任意账号实现未授权登录。 1.漏洞级别 高危 2.漏洞搜索 fofa: title"禅道"3.影响范围 v16.x < 禅道 < v18.12 &#xff08;开源版&#xff09; v6.x <…

Vue40-vueComponent构造函数

一、组件的本质&#xff1a;VueComponent构造函数 组件的本质是&#xff1a;构造函数 二、每一次调用vue.extend&#xff0c;返回的事一个全新的 VueComponent VueComponent的源码如下&#xff1a; 三、组件中的this 组件中的this是VueComponent实例对象&#xff0c;结构和vm…

通过视频网站传播的RecordBreaker窃密木马分析

1 攻击活动概览 近期&#xff0c;安天CERT监测到通过视频网站进行传播的攻击活动。攻击者窃取订阅者数量超过10万的视频创作者账号&#xff0c;发布与破解版热门软件相关的演示视频&#xff0c;诱导受害者下载RecordBreaker窃密木马。 RecordBreaker窃密木马是Raccoon…

基于DMAIC的SMT TX插件撞伤不良改善

在快速发展的电子制造领域&#xff0c;SMT&#xff08;表面贴装技术&#xff09;已经成为电子产品组装的核心技术之一。然而&#xff0c;SMT TX插件撞伤不良问题一直是制约生产效率与产品质量的瓶颈。本文将基于DMAIC&#xff08;定义、测量、分析、改进、控制&#xff09;方法…

注意力机制简介

为了减少计算复杂度&#xff0c;通过借鉴生物神经网络的一些机制&#xff0c;我们引入了局部连接、权重共享以及汇聚操作来简化神经网络结构。神经网络中可以存储的信息量称为网络容量。一般来讲&#xff0c;利用一组神经元来存储信息的容量和神经元的数量以及网络的复杂度成正…

重生奇迹MU 探秘奇幻世界

"探秘奇幻世界&#xff0c;成就无尽荣耀&#xff01;欢迎来到重生奇迹MU&#xff0c;一个永不落幕的游戏乐园。在这里&#xff0c;你可以尽情挑战各种困难&#xff0c;发掘神秘宝藏&#xff0c;还可与来自世界各地的玩家一起创造无尽的历史。为了帮助你更好地探索游戏世界…

用Vue3和ApexCharts打造交互式3D折线图

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 Vue.js 中使用 ApexCharts 构建交互式折线图 应用场景 ApexCharts 是一个功能强大的 JavaScript 库&#xff0c;用于创建交互式、可定制的图表。在 Vue.js 中&#xff0c;它可以通过 vue3-apexcharts 插件轻松…

IPython大揭秘:神奇技巧让你掌握无敌编程力量!

IPython技巧 基础技巧文件操作技巧输入输出技巧魔术命令技巧调试技巧程序性能优化技巧输入输出重定向技巧魔术命令控制技巧自定义显示格式技巧多线程多进程技巧异常处理技巧数据可视化技巧自定义魔术命令技巧安装扩展包技巧Jupyter Notebook集成技巧文档显示技巧代码块执行技巧…

2024 年 Python 基于 Kimi 智能助手 Moonshot Ai 模型搭建微信机器人(更新中)

注册 Kimi 开放平台 Kimi&#xff1a;https://www.moonshot.cn/ Kimi智能助手是北京月之暗面科技有限公司&#xff08;Moonshot AI&#xff09;于2023年10月9日推出的一款人工智能助手&#xff0c;主要为用户提供高效、便捷的信息服务。它具备多项强大功能&#xff0c;包括多…

【Orange Pi 5与Linux内核编程】-理解Linux内核中的container_of宏

理解Linux内核中的container_of宏 文章目录 理解Linux内核中的container_of宏1、了解C语言中的struct内存表示2、Linux内核的container_of宏实现理解3、Linux内核的container_of使用 Linux 内核包含一个名为 container_of 的非常有用的宏。本文介绍了解 Linux 内核中的 contain…

【软件工程】【22.10】p2

关键字&#xff1a; 软件开发基本途径、初始需求发现技术、UML表达事物之间关系、RUP需求获取基本步骤、项目过程建立涉及工作、项目规划过程域的意图和专用目标 判定表、分支覆盖、条件覆盖 三、简答 四、应用 这里条件覆盖有待商榷

ultralytics 8.2.35增加YOLOv9t/s/m模型全过程

yolov9的小模型开源也有两周左右了&#xff0c;ultralytics两天前新版本已经可以支持使用了。 过一段时间&#xff0c;Yolov10估计也快了。 yolov9的作者代码有一些部分本身就是从yolov5里“借鉴”而来&#xff0c;性能提高没提高见仁见智吧。 yolov10的nms free方式倒是比较…

有了MES、ERP,质量管理为什么还需要QMS?

在制造业&#xff0c;质量管理始终是企业管理中永恒的主题。品质管理要想做得更好&#xff0c;企业必须掌握足够多、足够有用的数据和信息&#xff0c;实现质量管理信息化。很多中小企业也很困惑&#xff0c;是否有必要上线QMS质量管理系统&#xff1f; 一、为什么企业需要QMS的…

C语言实现五子棋教程

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f4a5;&#x1f4a5;个人主页&#xff1a;奋斗的小羊 &#x1f4a5;&#x1f4a5;所属专栏&#xff1a;C语言 &#x1f680;本系列文章为个人学习…

【Redis技术进阶之路】「底层源码解析」揭秘高效存储模型与数据结构底层实现(链表)

揭秘高效存储模型与数据结构底层实现 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 链表使用场景List&#xff08;列表&#xff09;和 链表的关系链表的实现链表的节点list的源码实现结构模…

申万宏源:消费税改或是财政改革第一枪

消费税征收环节后移可能带来年化千亿的税收收入增长&#xff0c;地方财政压力的缓和程度取决于中央确定保留的消费税基数。申万宏源认为&#xff0c;财政改革不仅仅只涉及消费税和央地分配&#xff0c;而稳定扩大需求才是下一步改革核心。 主要内容 财政现实呼唤改革。紧迫性…

SmartEDA革新电路设计:告别繁琐,轻松步入智能时代!

在数字化浪潮席卷而来的今天&#xff0c;电路设计的复杂性和繁琐性一直是工程师们面临的难题。然而&#xff0c;随着科技的进步&#xff0c;一款名为SmartEDA的电路设计工具应运而生&#xff0c;它以智能化、高效化的特点&#xff0c;彻底颠覆了传统电路设计的方式&#xff0c;…

9.华为交换机telnet远程管理配置aaa认证

目的&#xff1a;telnet远程管理设备 LSW1配置 [Huawei]int Vlanif 1 [Huawei-Vlanif1]ip add 1.1.1.1 24 [Huawei-Vlanif1]q [Huawei]user-interface vty 0 4 [Huawei-ui-vty0-4]authentication-mode aaa [Huawei-ui-vty0-4]q [Huawei]aaa [Huawei-aaa]local-user admin pass…

视频智能分析平台智能边缘分析一体机视频监控业务平台区域人数不足检测算法

智能边缘分析一体机区域人数不足检测算法是一种集成了先进图像处理、目标检测、跟踪和计数等功能的算法&#xff0c;专门用于实时监测和统计指定区域内的人数&#xff0c;并在人数不足时发出警报。以下是对该算法的详细介绍&#xff1a; 一、算法概述 智能边缘分析一体机区域…

编写C语言程序解决多个数学问题及修正斐波那契数列递归函数

目录 请按下列要求编写程序&#xff1a;(三个函数均在一个C语言源程序) 有一个四位整数&#xff0c;它的9倍恰好是其反序数&#xff08;反序数例&#xff1a;1234与4321互为反序数&#xff09;。 有3个非零十进制数字&#xff0c;用它们可以组合出6个不同的三位数&#xff0…