IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> [阶段一] 12. Python模块和包 -> 正文阅读

[开发工具][阶段一] 12. Python模块和包

python模块和包

  • python 的包与模块:

python 的包就是文件夹,包中还可以有子包,也就是子文件夹。

python 的模块就是一个个 .py 文件,定义了各种功能接口。把复杂的功能封装为模块(又称为库),将功能实现的细节隐藏起来,使用该模块(库)的程序员不需要了解实现的细节。

在 python 的应用领域中,如:web 开发、人工智能、网络爬虫、数据分析等领域,已经存在了大量的模块,使用这些模块就可以轻松开发出应用程序。

层级关系:包 → 模块 → 函数

  • 包的身份证:

__init__.py 是每一个 python 包里必须存在的文件。

因此在创建包时,必须在包下面创建一个 __init__.py 文件,__init__.py 文件的内容可以为空,但文件必须存在。

创建包时需要注意:1. 要有一个主题,明确功能,方便使用;2. 层次分明,调用清晰。

  • 包的导入:

如果想使用一个包或模块,应该先将包或模块导入当前的 .py 文件中。

在 python 中,导入一个包或模块的关键字是 import

用法:

import package

参数 package 表示被导入的包的名字。

  • 模块的导入:

模块的导入与包的导入有些类似。from ... import ... 可以从某个包中导入指定的模块。

用法:

from package import module

参数 package 表示被导入的模块所属包的名字,module 表示被导入的模块的名字。

如果一个包下还有子包,那么包名之间通过 . 来连接,可以通过 from package.child_package import module 来导入子包中的模块。

  • 导入模块设置别名:

有时从不同的包中导入的模块名可能会相同,此时就可以在导入时给模块设置别名。from ... import ... as ... 可以从某个包中导入指定的模块,并设置别名。

用法:

from package import module as module_name

参数 package 表示被导入的模块所属包的名字,module 表示被导入的模块的名字,module_name 表示设置的别名。

  • 第三方包:

其他程序员写好的功能封装成包(模块)发布到网上,这就是第三方包。使用第三方包可以有效地提高开发效率。

可以使用 python 的第三方包管理工具 pipeasy_install 获取第三方包,其中 pip 的使用率最高。

通过命令 pip install package 安装指定的包,例如安装 ipython:pip install ipython。还可以通过 github.com 搜索 python 第三方包。

  • datetime 包:

datetime 包可以获取当前日期时间、时间间隔,将时间对象转成时间字符串,将字符串转成时间类型。

datetime 模块的 datetime 函数可用于获取当前日期时间,用法:

from datetime import datetime

或

import datetime

datetime 模块的 timedelta 函数可用于获取时间间隔,用法:

from datetime import datetime

from datetime import timedelta

timedelta 函数有 dayshoursminutessecondsmicrosecondsmillisecondsweek 这些参数。

示例:

# coding:utf-8

from datetime import datetime
from datetime import timedelta


print(datetime.now())

yestoday = datetime.now() - timedelta(days=1)
print(yestoday)

tomorrow = datetime.now() + timedelta(days=1)
print(tomorrow)

结果:

2021-07-09 16:13:15.579308
2021-07-08 16:13:15.579308
2021-07-10 16:13:15.579308

datetime 模块的 timestamp 函数可用于将时间对象转成时间戳,用法:

from datetime import datetime

now = datetime.now()

datetime.timestamp(now)

参数 now 表示 datetime 时间对象,返回一个时间戳。

示例:

# coding:utf-8

from datetime import datetime

now = datetime.now()
now_timestamp = datetime.timestamp(now)
print(now_timestamp)

结果:

1625818747.073041

datetime 模块的 fromtimestamp 函数可用于将时间戳转成时间对象,用法:

from datetime import datetime

datetime.fromtimestamp(timestamp)

参数 timestamp 表示时间戳,返回一个 datetime 时间对象。

示例:

# coding:utf-8

from datetime import datetime

time_stamp = 1625818747.073041
now = datetime.fromtimestamp(time_stamp)
print(now)

结果:

2021-07-09 16:19:07.073041

datetime 模块的 strftime 函数可用于将时间对象转成字符串,用法:

from datetime import datetime

now = datetime.now()

date_str = now.strftime(format)

参数 format 表示时间对象匹配规则。

# coding:utf-8

from datetime import datetime


date = datetime.now()
print(type(date))

date_str = date.strftime('%Y-%m-%d %H:%M:%S')
print(date_str)
print(type(date_str))

结果:

<class 'datetime.datetime'>
2021-07-09 16:22:23
<class 'str'>

datetime 模块的 strptime 函数可用于将时间字符串转成时间对象,用法:

from datetime import datetime

datetime.strptime(tt, format)

参数 tt 表示符合时间格式的字符串,format 表示时间字符串匹配规则。

# coding:utf-8

from datetime import datetime


date_str = '2021-07-09 16:22:23'

date_obj = datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S')
print(date_obj)
print(type(date_obj))

结果:

2021-07-09 16:22:23
<class 'datetime.datetime'>
  • 时间格式字符:
字符介绍
%Y年份,如 2020
%m月份,1 ~ 12
%d天数,1 ~ 31
%H小时,00 ~ 23
%I小时,01 ~ 12
%M分钟,00 ~ 59
%S秒,0 ~ 61(闰年多占2秒)
%f毫秒
%a星期简写,如星期三 Wed
%A星期全写,如星期三 Wednesday
%b月份简写,如二月,Feb
%B月份全写,如二月,February
%c本地日期和时间,如 Wed Feb 5 10:14:29 2021
%p显示上午、下午,如 AM 表示上午,PM 表示下午
%j一年中的第几天
%U一年中的星期数
  • time 模块:

time 模块的 time 函数可用于生成时间戳。用法:

import time

time.time()

time 模块的 localtime 函数可用于获取本地时间。用法:

import time

time.localtime(timestamp)

参数 timestamp 表示时间戳,可不传。

示例:

# coding:utf-8

import time

now = time.time()
print(now)

now_localtime = time.localtime()
print(now_localtime)
print(time.localtime(now))

结果:

1625824032.844112
time.struct_time(tm_year=2021, tm_mon=7, tm_mday=9, tm_hour=17, tm_min=47, tm_sec=12, tm_wday=4, tm_yday=190, tm_isdst=0)
time.struct_time(tm_year=2021, tm_mon=7, tm_mday=9, tm_hour=17, tm_min=47, tm_sec=12, tm_wday=4, tm_yday=190, tm_isdst=0)

time 模块的 sleep 函数可用于暂停程序运行一段时间。用法:

import time

time.sleep(second)

参数 second 表示希望程序被暂停运行的秒数。用法:

示例:

# coding:utf-8

import time

now_localtime = time.localtime()
print(now_localtime)

time.sleep(5)

now_localtime = time.localtime()
print(now_localtime)

结果:

time.struct_time(tm_year=2021, tm_mon=7, tm_mday=9, tm_hour=17, tm_min=56, tm_sec=13, tm_wday=4, tm_yday=190, tm_isdst=0)
time.struct_time(tm_year=2021, tm_mon=7, tm_mday=9, tm_hour=17, tm_min=56, tm_sec=18, tm_wday=4, tm_yday=190, tm_isdst=0)

time 模块的 strftime 函数可用于将时间对象转成字符串。用法:

import time

time.strftime(format, t)

参数 format 表示时间对象匹配规则,t 表示 time.localtime 对应的时间类型。

示例:

# coding:utf-8

import time

time_str = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
print(time_str)
print(type(time_str))

结果:

2021-07-09 18:01:01
<class 'str'>

time 模块的 strptime 函数可用于将时间字符串转成时间对象。用法:

import time

time.strptime(t, format)

参数 t 表示符合时间格式的字符串,format 表示时间字符串匹配规则。

示例:

# coding:utf-8

import time

time_str = '2021-07-09 18:01:01'

time_obj = time.strptime(time_str, '%Y-%m-%d %H:%M:%S')
print(time_obj)
print(type(time_obj))

结果:

time.struct_time(tm_year=2021, tm_mon=7, tm_mday=9, tm_hour=18, tm_min=1, tm_sec=1, tm_wday=4, tm_yday=190, tm_isdst=-1)
<class 'time.struct_time'>
  • os 模块:

os 模块可以很方便地使用与操作系统相关的功能。通过 import os 导入 os 模块。

函数名参数介绍示例返回值
getcwd返回当前的路径os.getcwd()字符串
listdirpath返回指定路径下所有的文件或目录os.listdir(’/etc/nginx’)返回一个列表
makedirspath,mode创建多级目录os.makedirs(’/software/pathon’)
removedirspath删除多级目录os.removedirs(’/software/python’)
renameold_name,new_name给文件或文件名重命名os.rename(’/software/python’, ‘/software/py’)
rmdirpath只能删除空目录os.rmdir(’/software/python’)
  • os.path 模块:

os.path 模块主要用于获取文件的属性。

函数名参数介绍示例返回值
existspath文件或路径是否存在os.path.exists(’/software’)bool 类型
isdirpath是否是路径os.path.isdir(’/software’)bool 类型
isabspath是否是绝对路径os.path.isabs(‘python’)bool 类型
isfilepath是否是文件os.path.isfile(’/software/python/test.py’)bool 类型
joinpath1,path2路径字符串合并os.path.join(’/software’, ‘python’)字符串
splitpath以最后一层路径为基准切割os.path.split(’/software/python’)元组
  • sys 模块:

sys 模块主要提供提供系统特定的参数和功能。

函数名参数介绍示例返回值
modules(属性)python 启动时加载的模块sys.modules列表
path(属性)返回当前 python 的环境路径sys.path列表
exitarg退出程序sys.exit(0)
getdefaultencoding获取系统编码sys.getdefaultencoding()字符串
platform(属性)获取当前系统平台sys.platform字符串
vesion(属性)获取 python 版本sys.version字符串
argv(属性)*args程序外部获取传递给 python 的命令行参数列表sys.argv列表

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-09-11 19:01:24  更:2021-09-11 19:01:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 4:36:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码