当前位置: 首页 > news >正文

Python中的模块

什么叫模块

  • 函数与模块的关系
    • 一个模块中可以包含N多个函数
  • 在python中一个扩展名为.py的文件就是一个模块
  • 使用模块的好处
    • 方便其它程序和脚本的导入并使用
    • 避免函数名和变量名冲突
    • 提高代码的可维护性
    • 提高代码的可重用性

自定义模块

  • 创建模块‘
    新建一个.py文件,名称尽量不要与Python自带的标准模块名称相同

  • 导入模块

import 模块名称 [as 别名] #导入整个模块

from 模块名称 import 函数/变量/#导入模块的部分内容

以主程序形式运行

在每个模块的定义中都包括一个记录模块名称的变量__name__,程序可以检查该变量,以确定他们在哪个模块中执行。如果一个模块不是被导入到其它程序中执行,那么它可能在解释器的顶级模块中执行。顶级模块的__name__变量的值为__main__

if __name__ == '__main__':
	pass

包是一个分层次的目录结构,他将一组功能相近的模块组织在一个目录下

  • 作用:

    • 代码规范
    • 避免模块名称冲突
  • 包与目录的区别

    • 包含__init__.py文件的目录称为包
    • 目录里通常不包含__init__.py文件
  • 包的导入

import 包名.模块名

常用的内置模块

模块名说明
sys与Python解释器及其环境操作相关的标准库
time提供与时间相关的各种函数的标准库
os提供了访问操作系统服务功能的标准库
calendar提供与日期相关的各种函数的标准库
urllib用于读取来自网上(服务器)的数据标准库
json用于使用JSON序列化和反序列化对象
re用于在字符串中执行正则表达式匹配和替换
math提供标准算术函数的标准库
decimal用于进行精确控制运算精度、有效数位和四舍五入操作的十进制运算
logging提供了 灵活的记录事件、错误、警告和调试信息等日志信息的功能

第三方模块的安装及使用

  • 安装
    这里以ubuntu举例,下载pip
    在这里插入图片描述安装schedule库
    在这里插入图片描述
    window的话,在cmd直接:pip install schedule

  • 第三方模块的使用
    import 模块名
    每隔三秒打印haha,并休眠一秒

import schedule
import time


def job():
    print('haha')


schedule.every(3).seconds.do(job)
while True:
    schedule.run_pending()
    time.sleep(1)

相关文章:

  • JavaEE、Spring
  • setTimeout和setInterval区别,以及定时器的传参功能
  • 【数学分析笔记04】数列与数列极限
  • 1、设计模式的简介
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • deepstream--nvinfer
  • python+vue+elementui企业会议管理系统django
  • centos 部署java环境,拷贝jar包并运行
  • 支持在线写SQL的Oracle学习免费网站(个人常使用)
  • ESP8266-Arduino编程实例-SHT20温湿度传感器驱动
  • 【web-代码审计】(14.5)PHP
  • Waline评论服务docker自部署手册 + 无需备案域名配置
  • [202209]mysql8.0 双主集群搭建 亲测可用
  • C++后台开发学习路线(已多人拿下腾讯后台开发)
  • 中值滤波器 median filter
  • 【剑指offer】让抽象问题具体化
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • PAT A1017 优先队列
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • 第十八天-企业应用架构模式-基本模式
  • 飞驰在Mesos的涡轮引擎上
  • 开源SQL-on-Hadoop系统一览
  • 配置 PM2 实现代码自动发布
  • 如何在GitHub上创建个人博客
  • 数据可视化之 Sankey 桑基图的实现
  • 我建了一个叫Hello World的项目
  • 阿里云移动端播放器高级功能介绍
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • (03)光刻——半导体电路的绘制
  • (LeetCode) T14. Longest Common Prefix
  • (Oracle)SQL优化技巧(一):分页查询
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (十) 初识 Docker file
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (一)插入排序
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)EXC_BREAKPOINT僵尸错误
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .Net 6.0 处理跨域的方式
  • .net refrector
  • .net Signalr 使用笔记
  • .net中调用windows performance记录性能信息
  • /var/spool/postfix/maildrop 下有大量文件
  • [20170713] 无法访问SQL Server
  • [acwing周赛复盘] 第 94 场周赛20230311
  • [CareerCup] 2.1 Remove Duplicates from Unsorted List 移除无序链表中的重复项
  • [CF226E]Noble Knight's Path
  • [daily][archlinux][game] 几个linux下还不错的游戏
  • [GDMEC-无人机遥感研究小组]无人机遥感小组-000-数据集制备
  • [Linux]文件基础-如何管理文件
  • [MFC] MFC 获取指定窗口截图(大小可调)
  • [PAT] 1041 Be Unique (20 分)Java