• 写给Python社群的第7课:用 Python 模块了不起呀?就是了不起


    ⛳️ Python 模块

    Python 模块也叫做 Python 库,有环境内置的,也有第三方开发的,在 Python 任何一个项目中,都会用到大量的模块,本篇博客从自带标准库开始,带大家逐步进入模块世界。

    Python 标准库知识

    Python 标准库为程序员提供了大量的函数和功能,是 Python 的核心功能之一,当安装 Python 之后,系统已经将标准库进行了内置,便于后续直接使用。

    标准库中内置对象有如下分类。

    • 内置函数
    • 内置常量
    • 内置类型
    • 内置异常

    今天的学习也会围绕上述分类中的部分子条目展开。

    ⛳️ datetime 模块

    datetime 模块,日期时间模块,在 Python 中出场率极高,所以我们直接从该模块开始学习。

    请先记住模块的学习流程。

    1. 模块用前先导入;
    2. 找准模块对象的属性和方法;
    3. 牢记参数和返回值;
    4. 实战编码。

    任何一款模块的学习,都遵循上述步骤,接下来看一下 datetime 吧,注意 datetime 是模块名,所以在导入的时候需要指定其内部对象。

    from datetime import datetime,date,time
    
    print(datetime.now())
    
    • 1
    • 2
    • 3

    上述程序会输出当前日期和时间,你是否发现在导入模块的时候,我们导入了 datetime 模块中的三个类名,分别是 datetimedatetime,对应日期时间,日期,时间。为何如此导入的原因,可以直接翻阅内置库代码,即 datetime.py 文件,打开之后发现其内部包含几个类,分别是 datetimetimedeltadatetzinfotimetimezone,即这几个类都可以被导入到其它文件中使用。

    🔥 datetime 对象常见的实例方法

    datetime 对象包含 datetime 对象的所有功能,算是一个总集,常见的对象方法如下:

    • datetime.now():获取当下的日期和时间;
    • datetime.date(t):获取当天日期,参数 tdatetime 实例参数;
    • datetime.time(t):获取当天时间,参数 t 同上;
    • datetime.ctime(t):获取格式化之后的日期时间字符串;
    • datetime.timestamp(t):获取指定时间的时间戳;
    • datetime.fromtimestampt(t_tamp):把时间戳转换为日期时间字符串;
    • datetime.strptime(dt_str,sf):按照 sf 样式格式化字符串;

    除了上述清单方法外,datetime 对象还存在其它属性和方法,但我们要学习的主要是方法,这部分内容无法死记硬背,建议是每一个方法都在代码实践中进行尝试。

    from datetime import datetime,date,time
    
    # 获取当下时间
    print(datetime.now())
    
    # 存储一个临时变量
    now = datetime.now()
    
    # 获取传入 datetime 对象的日期部分
    print(datetime.date(now))
    
    # 获取传入 datetime 对象的时间部分
    print(datetime.time(now))
    
    # 获取传入 datetime 对象的字符串格式数据
    print(datetime.ctime(now))
    
    # 获取传入 datetime 对象转换的时间戳
    print(datetime.timestamp(now))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    以上代码都是正向用法,在项目实战中,会碰到如下几个场景,分别给大家展示。

    📈 获取时间戳,保留到秒

    from datetime import datetime,date,time
    now = datetime.now()
    
    print(int(datetime.timestamp(now)))
    
    • 1
    • 2
    • 3
    • 4

    📈 保留时间戳到毫秒

    from datetime import datetime,date,time
    now = datetime.now()
    
    print(int(datetime.timestamp(now)*1000))
    
    • 1
    • 2
    • 3
    • 4

    📈 把当前时间按照年月日排列,即中文展示

    from datetime import datetime,date,time
    now = datetime.now()
    
    print(now.strftime('%Y年%m月%d日'))
    
    • 1
    • 2
    • 3
    • 4

    📈 把时间戳转换为日期时间

    from datetime import datetime,date,time
    now = 1667447170
    
    print(datetime.fromtimestamp(now))
    
    • 1
    • 2
    • 3
    • 4

    📈 根据数字生成日期和时间

    from datetime import datetime,date,time
    
    
    print(date(2022,10,10))
    print(time(20,30,40))
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在上面的代码中出现了 %Y%m%d 等占位符,它们都是日期格式化符号,其含义如下所示。

    • %Y:四位数年份;
    • %y:两位数年份;
    • %m:月份;
    • %d:日子;
    • %H:24 小时计时法中的小时;
    • %I:12 小时计时法中的小时;
    • %M:分钟;
    • %S:秒;
    • %a:本地简化星期;
    • %A:本地完整星期;
    • %b:本地简化月份;
    • %B:本地完整月份;
    • %c:本地日期和时间;
    • %j:表示年内的第几天;
    • %p:AM 或者 PM,本地化展示;
    • %U:星期数;
    • %w:星期几。

    如果希望彻底掌握一个模块,实战中多用多查即可,检索关键字 Python + datetime

    ⛳️ time 模块

    time 模块是将时间相关的函数进行了一次封装,其对象常用的方法如下:

    • time.sleep():程序挂起秒数;
    • time.perf_counter():返回当前 CPU 时间;
    • time.strftime(str_f):将带有时间格式的字符串解析为时间;
    • time.time():返回时间戳。

    上述方法都很常见,所以大家可以自由进行练习,尤其是其中的 time.perf_counter() 在优化函数算法效率时,经常碰到。

    ⛳️ random 模块

    随机数模块 random,在 Python 中出场率也非常高,其对象常用方法如下。

    • random.random():产生一个大于 0 小于 1 的随机浮点数;
    • random.uniform(a,b):在指定范围内生产随机浮点数;
    • random.randint(a, b):产生一个随机整数;
    • random.randrange([start], stop[, step]):从指定范围内,按指定基数递增的集合中获取一个随机数;
    • random.choice(sep):从序列中返回一个随机元素;
    • random.shuffle(x[, random]):打乱序列;

    随机数最常见的需求与代码示例如下。

    📈 随机生成一个 1~10 之间的数字,用于游戏
    示例 1

    import random
    print(int(random.uniform(1,10)))
    
    • 1
    • 2

    示例 2

    import random
    print(random.randint(1,10))
    
    • 1
    • 2

    📈 返回列表中的任意元素

    import random
    my_list = [1,2,3,4,5,6]
    print(random.choice(my_list))
    
    • 1
    • 2
    • 3

    ⛳️ sys 和 os 模块

    📈 sys 模块

    sys 模块提供了与 Python 解析器相关的变量和函数,常见的属性和函数如下所示。

    • sys.path:获取环境变量配置;
    • sys.platform:获取操作系统标识;
    • sys.getwindowsversion():获取 windows 版本信息。
    import sys
    print(sys.path)
    print(sys.platform)
    sys.getwindowsversion()
    
    • 1
    • 2
    • 3
    • 4

    📈 os 模块
    os 模块是 Python 中操作文件的模块,对象常用方法如下。

    • os.getcwd():获取当前工作目录;
    • os.listdir(path):罗列传入路径文件和目录;
    • os.walk(path):深层次遍历指定路径下的所有子文件夹;
    • os.path.exists(path):检测目录是否存在;
    • os.mkdir(path):创建目录;
    • os.makedirs(path):创建目录,包含其子目录;
    • os.rmdir(path):删除非空目录;
    • os.path.split(path):拆分目录和文件名;
    • os.path.dirname(path):返回文件的绝对路径;
    • os.path.basename(path):获取文件名;
    • os.path.isdir(path):判断是否为目录/文件夹;
    • os.path.isfile(path):判断是否为文件;
    • os.path.getsize(path):获取文件大小;
    • os.system(cmd):执行控制台命令。

    os 模块还有更多用法,这些都需要你在实战中不断夯实与积累,当然对拥有搜索引擎的我们来说,这都不是事。

    📢📢📢📢📢📢
    💗 你正在阅读 【梦想橡皮擦】 的博客
    👍 阅读完毕,可以点点小手赞一下
    🌻 发现错误,直接评论区中指正吧
    📆 橡皮擦的第 745 篇原创博客

    从订购之日起,案例 5 年内保证更新

  • 相关阅读:
    【Redis GEO】1、地理位置类型的基本用法
    社区论坛小圈子小程序源码系统:自定义小程序管理社区圈子软件圈子系统系统开发 - 做社区圈子
    非线性二分类——机器学习
    玩转Configmap配置应用的各种姿势
    【iOS】—— pthread、NSThread
    三大云商猛裁员!云行业无出路?
    Python 编写确定个位、十位以上方法及各数位的和程序
    SpringCloud - Spring Cloud Netflix 之 Hystrix Dashboard仪表盘监控(九)
    OCR文字识别标注小助手
    【C++】解引用 (及指针) 和 引用 的概念区别
  • 原文地址:https://blog.csdn.net/hihell/article/details/127666699