Python学习-----模块1.0(模块的简介、定义与使用)
目录
前言:
1.什么是模块
2.模块的分类
(1)内置模块
(2)第三方模块
(3)自定义模块
3.模块的使用
4.自定义模块
5.模块和执行文件的判断
前言:
今天就开始讲Python中的模块篇了,模块是Python的重要组成部分,Python之所以可以写出多种多样的程序,其实跟模块的灵活运用是息息相关的,所以这一期我会介绍Python中的模块,包括模块的定义和使用。
1.什么是模块
前面我们学习了变量类型(整形,字符串,列表,元组……等等)。然后也学习了函数类型,其实就是把一些变量结合起来,然后去实现一些功能。其实模块也是一样的,模块就是把函数、变量等等结合起来,形成一个Python文件,那这个文件名字也就是模块的名字,可以这么说模块就是Python代码的精华。
什么是模块?
模块:就是一个python文件
当python文件作为一个模块的时候,文件名就是模块名,demo.py(demo就是模块名)作用:可以调用其他python文件的代码,功能,可以更灵活的实现和使用了,添加各种效果
怎么使用:我们通过import(关键字) 去导入模块
2.模块的分类
Python中模块分三大类:
1.内置模块
2.第三方模块
3.自定义模块
(1)内置模块
说明:
内置模块:在安装Python之后自带的模块,可以直接去使用,比如time,os,re,random……
注意:在使用的时候要去import导入
例如:import time
(2)第三方模块
说明:
第三方模块不是Python自带的,是需要去外部安装到Python里面的,这些模块是一些大佬写的,我们可以去安装使用,比如pygame,requests……等等.
安装:
pip -- python自带的下载器
install -- 下载
uninstall -- 卸载前提:pip 没有设置python的环境变量的话,那么这个配置就找不到 所以下载python的时候要记得配置环境变量,python默认下载库就是使用pip 如果python环境没有设置好,pip就使用不了-->修复/重装
建议:pycharm下载模块(首先选择cmd下载 其次在是pycharm)
方式:进入cmd,直接pip install 模块名
例如:
这样就下载完成了
pip相关指令:
#下载模块
pip install 模块名#查看模块
pip list
#卸载模块
pip uninstall 模块名
#更新pip 有时候pip的版本太低 新的库升级不了
python -m pip install --upgrade pip -i
#通过(cdn)代理加速,下载第三方模块:
pip install 库名 --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install requests --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple
(3)自定义模块
顾名思义也就是自己去做的模块然后自己使用,当然了,对于我们初学者来说,我们自己写的模块都是很普通的,那些第三方模块同样也是个人写的,但那些人都是大佬或者一些团队,我们还得再练习两年半才行。
3.模块的使用
导入模块:
import 模块名
(import是导入的意思)
使用模块:
import 模块名
模块名.函数名()
单个导入
from 模块名 import 函数名字/变量名字
例如:from random import randint
导入该模块的全部函数
from 模块名 import *
注意:导入了之后我们就可以去直接使用这些函数,就不需要用模块名.函数名() 这种方式了,直接就函数名() 就行了,但是这种方式有一个很大的缺点,就是当我们去直接使用这些函数或者变量的名字的时候会有可能跟我们去定义的变量或者函数的名字起冲突,出现覆盖的情况,一般不建议使用这种方式
给模块取别名
如果模块名太长不好记 可以通过as给他取一个别名
import 模块名 as 别名
后面我们就可以直接去使用这个模块的别名了,比如:import random as r
r.random()
4.自定义模块
我们可以自己去定义一个模块,然后在执行文件里面导入直接使用,看示例:
这个是我自定义的一个模块,我把这个模块文件放到与执行文件同一个目录下面,当我们要用的时候就直接去导入就行了。
def fun(n):if n==1:return 1return n*fun(n-1)a=99def qj():print('这个是我的模块')

就这样很直接的导入
5.模块和执行文件的判断
模块是一个py文件的,是可以去执行的,当我们去导入一个模块的时候,其实系统已经把模块提前执行了一遍,然后再去执行主文件,但是我想让模块的一些部分不去执行,这时候我就要通过一种方法去判断这个是不是模块,如果是模块的话,那么这一部分的内容就不去执行
方法:
print(__name__)
# 如果运行代码,结果输出的是__main__的话,就说明这个文件是执行文件,如果返回的是一个模块名就说明这个是作为一个模块被使用
#模块代码
def fun(n):if n==1:return 1return n*fun(n-1)
print(__name__)
a=99def qj():print('这个是我的模块')
#执行文件的代码
import demoprint(__name__)
print(demo.fun(4))
输出结果:

这里是先输出demo的,这个demo其实就是模块的名字(可以看出模块是先执行,再去执行主文件),而__main__是表示这个是执行文件,所以我们可以通过这种方法去判断一个文件是模块还是执行文件。
例如:
#模块代码
def fun(n):if n==1:return 1return n*fun(n-1)
if __name__=='__main__':print(123456)
当我去调用这个模块的时候,是不会输出123456的,因为这个是一个模块的。
这一期就到这里了,谢谢大家~~~
分享一张壁纸

相关文章:
Python学习-----模块1.0(模块的简介、定义与使用)
目录 前言: 1.什么是模块 2.模块的分类 (1)内置模块 (2)第三方模块 (3)自定义模块 3.模块的使用 4.自定义模块 5.模块和执行文件的判断 前言: 今天就开始讲Python中的模块篇…...
Linux进程学习【二】
✨个人主页: Yohifo 🎉所属专栏: Linux学习之旅 🎊每篇一句: 图片来源 🎃操作环境: CentOS 7.6 阿里云远程服务器 Perseverance is not a long race; it is many short races one after another…...
我问chatGPT,在JavaScript中构造函数和类的区别
问:构造器函数和面向中的类是同样的东西吗|? 答:构造器函数和面向对象中的类并不是同样的东西,它们之间有些许不同。 在面向对象编程中,类是一种抽象的概念,它描述了一类具有相同属性和行为的对象。类可以…...
软考高级-信息系统管理师之沟通管理(最新版)
项目沟通管理 1、项目沟通管理基础项目沟通管理的重要性项目沟通管理相关理论2、规划沟通管理3、管理沟通4、控制沟通项目沟通管理的技术和工具1、项目沟通管理基础 项目沟通管理的重要性 1、与1T项目成功有关的最重要的四个因素是:主管层的支持、用户参与、有经验的项目经理…...
PyQt5 自定义富文本编辑器
介绍 一款使用PyQt5和网页端框架wangEditor集成的富文本编辑器 代码片段 PyQt5客户端 与网页端建立连接def create_connect(self):self.web_view QWebEngineView()self.bridge JSBridge(self.web_view.page())self.web_view.load(QUrl.fromLocalFile(self.editor_path))w…...
【高可用系统架构设计】SLA服务可用性4个9是什么意思?如何保证服务的高可用性 HA(High Availability)?...
如何保证服务的高可用性 HA(High Availability)?高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。方法论上,高可用是通…...
微服务架构设计模式-(14)面向生产环境
生产环境要求 应用安全 数据权限 服务可配置性 不同环境的配置不一样,不能写死代码,所以要配置 可观测性 需要日志系统 应用安全 四个方面 身份验证 验证主体的身份解决方案 单体 cookie 微服务中 API Gateway 访问令牌 不透明令牌透明令牌ÿ…...
HTML5新增用法
新增语义化标签 并无特殊含义,是语义!语义!语义! <header> 头部区域 <nav> 导航区域 <main> 主体区域 <article> 内部标签 <section> 块级标签 <aside> 侧边栏标签 <footer> 尾部…...
富足金字塔:人的努力是为了扩大选择的范围
人的努力是为了扩大选择的范围,这是熵减的另一种表述。富足金字塔代表着人生的三重境界。第一层是温饱。人需要食物、水、住所。第二层是品质。能源、ICT、教育带来更有品质的生活,如智能门锁、智能马桶、扫地机、洗碗机、洗衣烘衣机。第三层是梦想。包括…...
C++类基础(十七)
类的继承——补充知识 ● public 与 private 继承(C Public, Protected and Private Inheritance) 改变了类所继承的成员的访问权限 //公有继承 struct Base { public:int x; private:int y; protected:int z; }; struct Derive : public Base //公有继承…...
LeetCode刷题复盘笔记—一文搞懂贪心算法之56. 合并区间(贪心算法系列第十四篇)
今日主要总结一下可以使用贪心算法解决的一道题目,56. 合并区间 题目:56. 合并区间 Leetcode题目地址 题目描述: 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间…...
Andriod入门级开发
这学期有个课设,我们组我负责一个手机APP的开发,虽然刚开始说要实现什么智能导航,类似高德地图那种,但最后阉割的只剩一个Socket通信了,因为之前没有接触过(可能之后也不会再接触),记…...
DCL 数据控制语言
1、简介 DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据库的访问权限。 2、管理用户 2.1 查询用户 select * from mysql.user;查询的结果如下: 其中 Host代表当前用户访问的主机, 如果为localhost, 仅代表只能够在当前本机访问…...
全网超详细的下载与安装VMware虚拟机以及为什么要安装VMware虚拟机
文章目录1. 文章引言2. 下载VMware3. 安装VMware1. 文章引言 我们使用最多的系统是windows系统,因为,国内电脑厂商的操作系统(os)基本是windows系统,比如华为、联想、华硕等电脑。 但线上的服务器大多是Linux系统,而我们经常使用…...
Python获取zabbix问题触发器
背景:阿里云的ECS服务器因为阿里云升级插件,导致安全防护程序重启,产生不同的端口。导致低自动发现注册的端口 大量报警。 解决:杀掉关于因为非业务 变更的端口检测的触发器。 相关文档: Zabbix监控之主机端口监控自…...
原型链污染
目录 前置知识 原型对象 prototype和__proto__的区别 原型链概念 原型链的继承 原型 链污染 原型链污染原理 javascript中可能会存在原型链污染的危险函数 原型链污染的实际应用 JavaScript中可以触发弹窗的函数 前置知识 原型对象 在JavaScript中,每个函…...
ClickHouse详解
一、概念ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。OLAP场景的关键特征绝大多数是读请求数据以相当大的批次(> 1000行)更新,而不是单行更新;或者根本没有更新。已添加到数据库的数据不能修改。对于读取,从数据库中提取相当多的…...
02_Docker 安装
02_Docker 安装 文章目录02_Docker 安装2.1 安装 Docker 的先决条件2.2 在 Ubuntu 和 Debain 中安装 Docker2.2.1 检查前提条件1. 内核2.检查 Device Manager2.2 安装 DockerDocker 支持非常多的Linux平台,包括Ubuntu和RHEL,除此之外,Docker还…...
K8S集群将Docker切换到Containerd
文章目录1. 开启节点维护1.1 将节点设置成不可调度1.2 驱逐节点上的 Pod1.3 停止相关服务2. 升级到 containerd2.1 安装 containerd2.2 调整 containerd 配置2.3 修改 kubelet 启动配置参数3. 重启节点服务4. 验证升级后的节点5. 容器管理工具5.1 容器管理命令行工具对比5.2 cr…...
Kubernetes03:kubernetes 功能和架构
2.1 概述 Kubernetes 是一个轻便的和可扩展的开源平台,用于管理容器化应用和服务。通过 Kubernetes 能够进行应用的自动化部署和扩缩容。在 Kubernetes 中,会将组成应用的容 器组合成一个逻辑单元以更易管理和发现。Kubernetes 积累了作为 Google 生产环…...
Cursor Free VIP:终极免费解锁AI编程助手Pro功能的完整指南
Cursor Free VIP:终极免费解锁AI编程助手Pro功能的完整指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached you…...
HTML图片怎么在Firefox中调试对齐_Firefox开发者工具调图方法.txt
连接数爆满主因是线程卡住而非数量多,应重点关注SHOW FULL PROCESSLIST中State非Sleep且Time>60秒的阻塞线程,优先排查应用端连接未释放、监控脚本高频查询及本地进程异常连接。直接看 SHOW PROCESSLIST 里哪些线程在“卡住”连接数爆满&…...
3个技巧让FanControl风扇识别率提升90%:Windows 11用户的实战指南
3个技巧让FanControl风扇识别率提升90%:Windows 11用户的实战指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_…...
如何永久保存微信聊天记录?终极指南:从导出到年度报告完整流程
如何永久保存微信聊天记录?终极指南:从导出到年度报告完整流程 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHu…...
SAP ABAP文件处理避坑指南:从FILE事务码到OPEN DATASET的完整配置流程
SAP ABAP服务器端文件处理实战:从逻辑路径配置到OPEN DATASET高阶应用 在SAP系统集成与数据交换场景中,文件处理能力直接影响着接口稳定性与运维效率。不同于常规编程语言的文件操作,ABAP环境下的服务器端文件处理涉及逻辑路径映射、平台适配…...
终极指南:如何用UniversalSplitScreen在一台电脑上玩多人游戏
终极指南:如何用UniversalSplitScreen在一台电脑上玩多人游戏 【免费下载链接】UniversalSplitScreen Split screen multiplayer for any game with multiple keyboards, mice and controllers. 项目地址: https://gitcode.com/gh_mirrors/un/UniversalSplitScree…...
RK3568开发板Android 11系统移植实战:从内核驱动到HAL适配
1. 项目概述与学习路径规划拿到一块像迅为iTOP-RK3568这样的开发板,想把最新的Android 11系统跑起来,这个想法听起来挺酷,但很多朋友一看到“系统移植”四个字就有点发怵,感觉这是大神才能玩转的领域。其实,只要你熟悉…...
Agent 记忆架构演进:从简单的 Vector DB 到结构化知识图谱
Agent 记忆架构演进:从简单的 Vector DB 到结构化知识图谱 如果你曾开发过大模型 Agent,一定遇到过这样的痛点:你给 Agent 喂了几百条历史聊天记录、项目文档,问它「我上周和张三讨论的电商项目预算是多少?当时李四提了什么反对意见?」,它要么答非所问,要么只说对一半,…...
NotebookLM智能体插件:AI驱动的自动化知识处理与任务执行
1. 项目概述:当NotebookLM遇上智能体,知识处理的范式革命最近在AI圈子里,一个名为“notebooklm-agent-plugin”的项目引起了我的注意。乍一看,这个名字结合了Google的NotebookLM和当下火热的“智能体”(Agentÿ…...
Page Assist终极指南:5分钟为浏览器安装本地AI助手,彻底告别云端依赖
Page Assist终极指南:5分钟为浏览器安装本地AI助手,彻底告别云端依赖 【免费下载链接】page-assist Use your locally running AI models to assist you in your web browsing 项目地址: https://gitcode.com/GitHub_Trending/pa/page-assist 想要…...
