手把手教你学Python之常见标准库(数学库、随机数库、日期库、集合扩展库)

目录

1、 Python中模块的导入

2、数学库-math

3、时间库-time

4、随机数库-random

5、集合扩展库-collections


Python中的模块其实就是一个python文件,该文件中可以定义多个类函数变量等。模块名称就是不包含后缀的文件名。通常同一文件内的代码具有高内聚特点,不同文件之间的代码具有低耦合特点,不同模块间可相互调用,从而实现代码的复用

1、 Python中模块的导入

   不同模块间相互调用的前提是要先导入相关内容,此时需借助import关键字,语法如下:

  • import 模块名导入整个模块,此时可根据模块名.内容进行访问。
  • import 模块名 as 别名导入整个模块,并给模块取个别名,可通过别名.内容进行访问。
  • from 模块名 import 函数或类从模块中导入某一部分内容,此时可直接访问内容

使用import语句导入模块时,将会按照 sys.path 变量的值搜索文件,如果没找到,则程序报错。可通过sys.path查看搜索目录,通常包含当前目录Python安装目录等,搜索顺序按照目录在列表中的顺序(一般来说当前目录优先级最高)。

如果需要访问的模块不在默认的搜索目录中,则需要手动将其添加到搜索目录中去。如果在多个模块中包含相同的内容,此时访问时可用模块名.内容进行区分,否则根据导入的顺序,取最后导入的

2、数学库-math

math库中定义了一些常见的数学常量数学计算公式,例如自然常数e圆周率pi正弦函数对数函数距离函数平方根函数等。

3、时间库-time

time 模块主要提供各种关于日期、时间的类和函数。Python中时间通常有三种表现形式:结构化时间时间戳字符串时间。这三种形式之间通过一定函数可相互转换。

  • 结构化时间用一个元组表示,元组中包含9部分内容,年份月份(1-12)、日期(1-31)、小时(0-23)、分钟(0-59)、秒数(0-59)、星期(0-6,星期一为0)、一年中的天数(1-366)、是否夏令时(-1, 0,1)
  • 字符串时间:按照用户自定义的时间格式显示;
  • 时间戳:从1970年1月1日0时0分0秒开始到现在的秒数,是一个浮点数。

    以字符串形式显示时间或者将字符串解析为时间元组时,需要通过一些特殊的字符进行控制。这些特殊字符作用如下,注意大小写。其他内容必须原样输入,既不能省略,也不能修改,否则解析出错

4、随机数库-random

   实际应用中,经常需要从一组数据中随机抽样,或者将一组数据随机打乱顺序,从而使得实验结果更具说服性,此时需要借助于random库,random库中主要的方法及其含义如下。

5、集合扩展库-collections

collections 模块扩展了Python中内嵌的容器:dict、list、set和 tuple等,提供了一些具有特殊功能的子类。 例如:CounterdefaultdictOrderedDict 等。

defaultdict 是字典 dict 的子类,支持所有的字典操作,用于给所有的关键字赋默认值此时访问字典中不存在的键时,返回默认值,而不会直接报错

Counter是字典 dict 的子类,支持所有的字典操作,用于对可迭代对象中的元素计数。它是一个键值对的集合,键为元素值为该对象出现的次数

   Counter类中常见的方法及其作用如下:

  • most_common(n)返回出现次数最多的前n个元素,如果n省略,则返回所有元素,按照出现的次序降序排列。返回结果为一个列表,列表中每个元素为元组,由键和对应的值构成;
  • elements()返回一个迭代器,每个元素将出现指定次数。元素按首次出现的顺序返回。如果一个元素的计数值小于1,则会忽略
  • subtract(可迭代对象):从已有对象中减去相应数量的元素,最终结果中有些元素出现的数量可能为负数
  • update(可迭代对象):在已有对象基础上加上相应数量的元素

此外,Counter对象还支持加法(+)减法(-)并集(|)交集(&)等操作。

小小练习题

更多关于手把手教你学Python的文章请关注微信公众号:Python资源分享。详细的视频讲解可查看 CSDN学院 里的手把手教你学Python系列视频:https://edu.csdn.net/lecturer/5686。   

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高成珍

前行路上与你相伴!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值