Python入门知识点分享——(十六)标准库的导入和调用

这篇具有很好参考价值的文章主要介绍了Python入门知识点分享——(十六)标准库的导入和调用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在正式学习面向对象编程之前,我们先讲一下怎么在代码中导入并调用现成的模组,也就是Python中的标准库。像我们之前介绍过的os模块就是其中之一,下面我将为大家分别介绍几个常用的标准库。

math

math 模块提供了许多对浮点数的数学运算函数,该模块下的函数返回值均为浮点数。我们使用import关键字来导入模组,再通过dir方法来获取math模组下的内容。

import math
print(dir(math))
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 
'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees',
 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 
'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt',
 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter', 
'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh',
 'tau', 'trunc', 'ulp']

此外我们还可以获取math模组本身的一些属性。

import math
print(id(math))
print(type(math))
print(math)
2827027040432
<class 'module'>
<module 'math' (built-in)>

这里介绍几个math模组的常量和函数,能用运算符简单表示的就不列出来了。

import math
# math模组中的常量
print('e:', math.e)
print('π:', math.pi)

# math模组中的计算
# e的x次幂
x = 2
print('e的x次幂:', math.exp(x))

# y的向上取整
y = 1.5
print('y的向上取整:', math.ceil(y))

# y的向下取整
print('y的向下取整:', math.floor(y))

# y的x次幂
print('y的x次幂:', math.pow(y, x))

# z从弧度制转为角度制
z = math.pi/2
print('z从弧度制转为角度制:', math.degrees(z))

# z从角度制转为弧度制
z = 90
print('z从角度制转为弧度制:', math.radians(z))

# a的绝对值
a = -2
print('a的绝对值:', math.fabs(a))

# b的阶乘
b = 3
print('b的阶乘:', math.factorial(b))

# x和b的最大公因数
print('x和b的最大公因数:', math.gcd(x, b))

# d的平方根
d = 4
print('d的平方根:', math.sqrt(d))

# 以x为底,d的对数
print('以x为底,d的对数:', math.log(d, x))

# 以10为底,d的对数(常用对数)
print('以10为底,d的对数(常用对数):', math.log10(d))

# 以e为底,d的对数(自然对数)
print('以e为底,d的对数(自然对数):', math.log(d))
e: 2.718281828459045
π: 3.141592653589793
e的x次幂: 7.38905609893065
y的向上取整: 2
y的向下取整: 1
y的x次幂: 2.25
z从弧度制转为角度制: 90.0
z从角度制转为弧度制: 1.5707963267948966
a的绝对值: 2.0
b的阶乘: 6
x和b的最大公因数: 1
d的平方根: 2.0
以x为底,d的对数: 2.0
以10为底,d的对数(常用对数): 0.6020599913279624
以e为底,d的对数(自然对数): 1.3862943611198906

此外还可以表示三角函数。

import math
x = math.pi
y = 1
print(math.sin(x))
print(round(math.sin(x)))
print(math.cos(x))
print(math.tan(x))
print(math.asin(y))
print(math.acos(y))
print(math.atan(y))

 需要注意math中的反三角函数不需要写成‘arcsin’的形式,只需要写成asin即可。另外Python在处理浮点数运算时会出现极小的误差,具体原因可以查看这篇文章浮点精度(float、double)运算不精确的原因。如果不想要输出存在误差的结果,我们可以用之前学过的round内置函数来消除它。

1.2246467991473532e-16
0
-1.0
-1.2246467991473532e-16
1.5707963267948966
0.0
0.7853981633974483

time

time 模块提供了处理时间的函数,它以时间元组来记录和储存时间。

索引 元素 含义 数值
0 tm_year 年份 公元纪年
1 tm_mon 月份 1~12
2 tm_mday 日期 1~31
3 tm_hour 小时 0~23
4 tm_min 分钟 0~59
5 tm_sec 0~59
6 tm_wday 星期 0~6 (从周一开始)
7 tm_yday 天数 一年中的第几天,1~366
8 tm_isdst 夏令时 是否为夏令时:1(夏令时)、0(不是夏令时)、-1(未知),默认 -1

 补充一点关于夏令时的知识:夏令时也叫夏时制,又称“日光节约时制”和“夏令时间”,是一种为节约能源而人为规定地方时间的制度,在这一制度实行期间所采用的统一时间称为“夏令时间”。一般在天亮早的夏季人为将时间调快一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电。

import time

# 获取当前时间
now_time = time.localtime(time.time())
print("现在时间是:", now_time)

# 格式化时间
now_time1 = time.asctime(time.localtime(time.time()))
print("现在时间是:", now_time1)
现在时间是: time.struct_time(tm_year=2024, tm_mon=1, tm_mday=15, tm_hour=17, tm_min=15, tm_sec=7, tm_wday=0, tm_yday=15, tm_isdst=0)
现在时间是: Mon Jan 15 17:15:07 2024

注意在格式化时间中。每一项字符分别代表星期、月份、该月的第几天、时间和年份。

random

random 模块主要用于生成各种分布的随机数,在数据分析和建模中很常用。不过random模块生成的是伪随机数,它是用确定性的算法计算出来自[0,1]均匀分布的随机数序列。并不真正的随机,但具有类似于随机数的统计特征,如均匀性、独立性等。在计算伪随机数时,若使用的初值(种子)不变,那么伪随机数的数序也不变。

import random

random.seed(1)
# 随机数种子编号,用相同编号的种子生成的随机数一致
print(random.random())
# 生成一个[0,1)区间内随机数

random.seed(1)
print(random.random())
# 种子编号一致,生成的随机数一致

random.seed()
print(random.random())
# 默认种子编号,生成的随机数不一致

print(random.randint(5, 10))
# 在[5,10]区间上生成一个随机数,要求闭区间两侧为整数

print(random.randrange(2, 10, 2))
# 前两个参数为区间两端,后一个参数为步长,适用于选奇偶数

print(random.gauss(1, 0))
# 遵从均值为1,标准差为0的高斯正态分布

print(random.expovariate(2))
# 遵从均值为1/2的指数分布

list1 = range(1, 10)
print(random.sample(list1, 5))
# 从序列list1随机抽取5个数字,这也是生成多个随机数的常用方法

print(random.betavariate(1, 1))
# 贝塔分布,第一个参数是α,第二个是β

print(random.gammavariate(1, 1))
# 伽马分布,第一个参数是α,第二个是β
0.13436424411240122
0.13436424411240122
0.21235278740282482
5
6
1.0
0.4480595130642667
[9, 5, 6, 1, 3]
0.6208966857878386
0.8193240193344321

以上就是Python中几个比较常用的标准库了,还剩下一个用于编写正则表达式的re模块,会在下一篇文章中介绍给大家,感谢观看。文章来源地址https://www.toymoban.com/news/detail-798604.html

到了这里,关于Python入门知识点分享——(十六)标准库的导入和调用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 青少年机器人技术一级核心知识点、水平要求和考试标准

    青少年机器人技术的发展已成为当今世界科技领域中备受瞩目的一项技术。机器人技术的应用范围越来越广泛,不仅在工业制造、医疗、教育等领域中得到广泛应用,同时也成为了青少年学习STEM(科学、技术、工程、数学)的重要内容。 为了推动青少年机器人技术的发展,

    2024年02月12日
    浏览(33)
  • 软考系统架构师知识点集锦十:计算机网络、数学与经济管理、知识产权与标准化

    2.1.1常见协议及功能          网际层是整个TCP/IP体系结构的关键部分,其功能是使主机可以把分组发往任何网络并使分组独立地传向目标。 POP3: 110 端口,邮件收取 SMTP: 25 端口,邮件发送 FTP: 20数据端口/21控制端口,文件传输协议 HTTP: 80端口,超文本传输协议,网页传输

    2024年02月07日
    浏览(51)
  • 《Windows核心编程》若干知识点实战应用分享

    目录 1、进程的虚拟内存分区与小于0x10000的小地址内存区 1.1、进程的虚拟内存分区 1.2、小于0x10000的小地址内存区 2、保存线程上下文的CONTEXT结构体 3、从汇编代码角度去理解多线程运行过程的典型实例 4、调用TerminateThread强制结束线程会导致线程中的资源没有释放的问题 5、

    2024年01月25日
    浏览(36)
  • 《Windows核心编程》若干知识点应用实战分享

    目录 1、进程的虚拟内存分区与小于0x10000的小地址内存区 1.1、进程的虚拟内存分区 1.2、小于0x10000的小地址内存区 2、保存线程上下文的CONTEXT结构体 3、从汇编代码角度去理解多线程运行过程的典型实例 4、调用TerminateThread强制结束线程会导致线程中的资源没有释放的问题 5、

    2024年01月22日
    浏览(37)
  • 【知识点随笔分享 | 第二篇】众多的字符集

    目录 前言: 字符与字符集: 字符集编码的发展(时间顺序): 总结:          你是否有好奇过文字是怎么在电脑中显示出来的?为什么我们通过输入法就可以输入想要得到的文字?为什么我们粘贴有些网站的文字,复制到自己的电脑上就成乱码?为什么我们有的时候

    2024年02月14日
    浏览(32)
  • 【知识点随笔分享 | 第九篇】常见的限流算法

    目录 前言: 1.固定窗口限流:  缺点:  2.滑动窗口限流:  优点: 滴桶限流: 缺点: 令牌桶限流:  优点: 总结:           当今互联网时代,随着网络流量的快速增长和系统负载的不断加重,限流算法作为一种重要的网络管理工具变得愈发重要。限流算法通过控制系

    2024年02月04日
    浏览(35)
  • 分享刷题的一些小知识点--4.9日

    1.string库提供了 、、==、=、=、!= 等比较运算符,比如两个字符串s和t,直接(s==t)是正确的。 2.unordered_map 容器,直译过来就是\\\"无序 map 容器\\\"的意思。所谓“无序”,指的是 unordered_map 容器不会像 map 容器那样对存储的数据进行排序。换句话说,unordered_map 容器和 map 容器仅有

    2023年04月11日
    浏览(34)
  • 数据库系统概述——第三章 关系数据库标准语言SQL(知识点复习+练习题)

    🌟 博主: 命运之光 🦄 专栏: 离散数学考前复习(知识点+题) 🍓 专栏: 概率论期末速成(一套卷) 🐳 专栏: 数字电路考前复习 🦚 专栏: 数据库系统概述 ☀️ 博主的其他文章: 点击进入博主的主页​​​​​ 前言: 身为大学生考前复习一定十分痛苦,你有没有过

    2024年02月10日
    浏览(53)
  • Vue入门——核心知识点

    Vue是一套用于 构建用户界面 的 渐进式 JS框架。 构建用户界面:就是将后端返回来的数据以不同的形式(例如:列表、按钮等)显示在界面上。 渐进式:就是可以按需加载各种库。简单的应用只需要一个核心库即可,复杂的应用可以按照需求引入各种Vue插件。 采用组件化模式

    2024年02月06日
    浏览(40)
  • MySQL 知识点分享一:utf8 字符集和排序规则

    我们经常能在数据库中看到这些: utf8mb4 和 utf8, utf8mb4_unicode_ci, utf8mb4_general_ci, utf8mb4_bin 分别代表什么意思呢? 其实他们表示的是字符集 和 排序规则 字符集:就是用来定义字符在数据库中的编码的集合。 排序规则:用来定义比较字符串的方式。 字符集和排序规则是一对多的关

    2024年02月07日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包