Python模块化
一:什么是模块
模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。
二:模块类型
1:自定义模块
由编程人员自己写的模块。自定义模块时要注意命名,不能和Python的内置模块名称冲突。
2:内置模块
Python定义好的,有特定的名称以及包装的函数。常见的内置模块如下:
time(用于处理日期和时间)
sys(用于操控python运行时的环境)
os(用于与操作系统交互,比如处理文件和目录)
json(用于处理json数据)
subprocess(用于执行外部命令的模块)
其他:datatime,random
三:模块的导入与引用
当跨模块调用时使用。要先导入模块,对于导入模板的语句一般放在程序前面,且按照Python标准库模块、Python第三方模块、自定义模块的顺序从上到下排开。
导入模块的方式有两种:
方式一:使用import导入
导入语法:import 模块名
调用语法:模块名.函数名() 或者模块名.类名
方式二:使用from…impor..导入
导入语法:from 模块名 import 函数名1,函数名2或者类名1,类名2
如果导入的是函数名,引用语法:函数名1()
如果导入的是类名,引用语法:对象名=类名 对象名.方法()
注意:对于以上两种方式,推荐使用方式一,对于方式二存在覆盖的情况。如果引入的两个模块中含有相同名称函数的时候,后面一次引入会覆盖前一次引入。
案例:
在cal.py文件中定义4个函数,分别实现求和、求差、求积、求商。
在model_cal.py文件中引入calculate.py文件,再调用定义的函数
图1:自定义的包名 图2:引用自定义包中的方法
四:内置模块
1:time模块
Python编程中经常会用到time和datatime来处理日期和时间。在这主要给大家介绍time模块中有关时间处理的函数使用。
时间的表示常见的有三种形式:时间戳,时间元组以及英文时间字符串
- 时间戳:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数
- 时间元组:即用一个元组装起来的9组数字表示时间
t = (2018,6,24,16,56,45,0,0,0) #(年、月、日、时、分、秒、一周的第几日、一年的第几日、夏令时<1(夏令时)、0(不是夏令时)、-1(未知),默认 -1>) - 英文时间字符串:Thu Aug 13 13:35:12 2020
案例1:使用内置time模块,分别获取当前时间戳、时间元组以及英文时间字符串
案例2:对获取的当前时间元组分别以年、月、日、时、分、秒的部分进行截取,分别获取各部分的值并进行输出
案例3:时间元组、时间戳、时间字符串之间的相互转换
- 时间戳转为时间元组:time.localtime(时间戳)
- 把时间元组转换成时间戳:time.mktime(t)
- 时间元祖转换为字符串:time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
- 字符串转换为时间元祖:time.strptime("2019-09-01 22:29:35",'%Y-%m-%d %H:%M:%s')
2:calendar模块
Python编程中经常会用到calendar来处理日历。在这主要给大家介绍calendar模块中有关日历的使用。
案例4:分别获取指定年份的年日历、指定某年某月的月日历、以及判断指定的年份是否是闰年?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?