python 时间差_Python基础_8

本篇文章用于介绍Python中模块的含义以及一些常用模块

到底什么是模块(Model)

简单来说,模块就是一个以“.py”为后缀的文件,每一个模块在python中都会被看作成一个独立的文件,而且它们可以在其他的模块中、一些脚本中被引用,进而可以在其他程序中使用此模块里的函数等功能。

大概的意思就是你去邻居家(其他模块)借了个锤子(模块中的方法)来敲木板(完成自己的代码)。

模块一般有下面这几类

  • 系统内置的模块:例如 time、sys、os 以及前面遇见过的 math等。
  • 自定义模块:就是自己写的模块,写入一些函数,并将其封装后供给其他文件调用。
  • 第三方的开源模块:有专门的官方更新维护并发布到网络上,可以通过各种手段下载并使用,有开源的代码。

import语句

当我们想要在我们自己的程序中使用一个模块时,可以使用 import 语句,在这里使用 time 模块举例:

import time

通过这条语句,你就可以把 math 模块导入到你的程序中,并可以使用 math 模块中的一些函数或者方法。

dir(time)
['_STRUCT_TM_ITEMS',
 '__doc__',
 '__loader__',
 '__name__',
 '__package__',
 '__spec__',
 'altzone',
 'asctime',
 'clock',
 'ctime',
 'daylight',
 'get_clock_info',
 'gmtime',
 'localtime',
 'mktime',
 'monotonic',
 'monotonic_ns',
 'perf_counter',
 'perf_counter_ns',
 'process_time',
 'process_time_ns',
 'sleep',
 'strftime',
 'strptime',
 'struct_time',
 'thread_time',
 'thread_time_ns',
 'time',
 'time_ns',
 'timezone',
 'tzname']

你可以使用 dir(模块名)来查看模块中的所有方法。

注意:不管你执行了多少次 import,一个模块只会被导入一次。因为这样可以防止导入的模块被一遍又一遍的执行。

from...import语句

from...import语句允许你从一个模块中导入一个指定的方法到导当前的程序中,还是用 math 模块举例,已知 math 模块中有 sin() 和 cos() 两个方法。假设我们现在只需要用 sin() 方法而不需要 cos() 方法:

from math import sin     #这行代码翻译过来就是“从math模块中导入sin方法”
a = 1
print(sin(a))    #成功运行,并得到结果
0.8414709848078965
print(cos(a))    #报错,提示‘cos’方法未定义,因为我们并未引入cos方法
---------------------------------------------------------------------------

NameError                                 Traceback (most recent call last)

<ipython-input-5-3836cefab721> in <module>()
----> 1 print(cos(a))    #报错,提示‘cos’方法未定义,因为我们并未引入cos方法


NameError: name 'cos' is not defined
from math import cos
print(cos(a))     #成功运行
0.5403023058681398

from...import * 语句

把一个模块的所有内容全部都导入到当前的程序中,等于 import... 语句虽然我也理解为什么要有这么个语法,不过为了文章的完整性,我还是写下来了。

from math import *

一些常用的模块

关于时间——time模块

time 模块属于内嵌模块,它常常被用于计算时间差,当你想计算你的程序运行的时间时,time 模块就派上用场了。

import time               #导入time模块

start = time.time()       #使用time模块中的time方法,获得程序开始时间
num = 0
for i in range(10000):    # 计算从1加到10000所需的时间
    num = num + 1
end = time.time()         #获得程序结束时间
spend = end - start       #计算时间差,得出的结果即为程序运行时间
print("你的程序执行了{}秒".format(spend))
你的程序执行了0.0010061264038085938秒

另外,当你想让你的程序暂停的时候,你可以使用time模块中的sleep()方法,它有一个参数,即暂停时间长度,以秒为单位

import time
start2 = time.time()
time.sleep(1)
end2 = time.time()
spend2 = end2 - start2 
print("你的程序执行了{}秒".format(spend2))
你的程序执行了1.0003342628479004秒

关于数学运算——math模块

在写程序的时候常常会用到一些数学公式,比如说计算圆的面积

$$S = ΠR^2$$

这个Π要怎么算呢,我们都知道圆周率不仅仅是 3.14,3.14只是一个近似的值,我们只是为了方便而默认它为 3.14,但是math模块中提供了pi()这一方法,它会返回一个小数点后 n 位的圆周率,肯定是比我们的3.14要精确得多。

import math
R = 2.0
S = math.pi * R**2
print(S)
12.566370614359172

math 中还有很多其他常用的数学方法,比如说 sin、 cos、 tan 三角函数,还有 abs、 pow,求绝对值,求平方等等。

小结

因为 python 完全开源的并且简单易上手的特性,使得这门语言吸引了大量的开发者和程序员,每个人都贡献了自己的一份力量,写出了一个又一个强大的模块,从而使得这门语言愈发强大。python中有各种各样的模块,没有你做不到,只有你想不到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值