Python小知识-模块之time、random、math、cmath模块

原创不易,转载前请注明博主的链接地址:Blessy_Zhu https://blog.csdn.net/weixin_42555080
本次代码的环境:
运行平台: Windows
Python版本: Python3.x
IDE: PyCharm

1.概述

模块(module)能够有逻辑地组织Python代码段。把相关的代码分配到一个模状里面,从而 让代码更好用,更易懂。简单地说,模块就是-一个保存了Python代码的文件。==模块里能定义函数、类和变量。==其实说白了,模块可以理解为JAVA里面的包,我们通过将定义的函数、类和变量封装到包里面,然后通过导包,然后通过接口就可以使用包里面的内容。
 


在这里插入图片描述

2.import导入模块

在Python中模块和C语言中的头文件以及Java中的包很类似,比如在Python 中要调用random函数,必须用import关键字引人random这个模块,下面就来学习Python 中的模块。方式如下:

import模块名 #导入模块

为什么必须加上模块名这样调用呢?因为可能存在这样一种情况: 在多个模块中合有相同名称的函数,此时如果只是通过函数名来调用,解释器无法知道到底要调用哪个函数,所以如果像上述这样导人模块的时候,调用函数必须加上模块名
有时候只需要用到模块中的某个函数,只需要引人该函数即可,此时可以通过语句:

from模块名import函数名1,函數名2…

通过这种方式引人的时候,调用函数时只能给出函数名,不能给出模块名,但是当两个模块中含有相同名称函数的时候,后面一次引入会覆盖前一次引人。也就是说假如模块A中有函数fun(),在模块B中也有函数fun(),如果引人A中的fun在先、B中的fun在后,那么当调用fun函数的时候,会去执行模块B中的fun函数。
如果想一次性导人模块中所有的内容,可以通过:

**from 模块名 import ***

3.模块位置的搜索顺序

当你导人一个模块时,Python解析器对模块位置的搜索顺序是:

  • ①当前目录;
  • ②如果不在当前目录,Python则搜索在PYTHON PATH环境变量下的每个目录。
  • ③如果都找不到,Python会查看由安装过程决定的默认目录。
    模块搜索路径存储在system 模块的sys. path变量中。变量里包含当前录,PYTHONPATH和由安装过程决定的默认目录。
import sys
print(sys.path)
#结果:
['C:\\Users\\Administrator\\PycharmProjects\\practice1', 
'C:\\Users\\Administrator\\PycharmProjects\\practice1', 'D:\\Python3.7\\python37.zip', 
'D:\\Python3.7\\DLLs', 'D:\\Python3.7\\lib', 'D:\\Python3.7', 'D:\\Python3.7\\lib\\site-packages', 
'D:\\Python3.7\\lib\\site-packages\\setuptools-39.1.0-py3.7.egg', 'D:\\Python3.7\\lib\\site-packages\\pip-
10.0.1-py3.7.egg']

4.常用标准模块

4.1 time模块

在Python中通常有2种方式来表示时间

  • ①时间戳,是从1970年1月1日00.00.00开始到现在的秒数
  • ②时间元组struct_time,其中共有九个元素。具体有:tm_ year(年,比如2011),tm_mon(月),tm_mday(日),tm_hour(小时,0~ 23),tm_min(分 ,0~ 59), tm_sec (秒,0~ 59),tm_wday(星期,0~ 6,0表示周日),tm_yday(一年中的第几天,1~366).tm_isds(是否是夏令时,默认为1夏令时)。

time模块包含既有时间处理的函数,也有转换时间格式的函数。见表1所示。
 


表1 time 模块中的函数

函数描述
time. asctime([tupletime])接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008”(2008年12月11日周二18时07分14秒)的24个字符的字符串
time. clock()用以浮点数计算的秒数返回当前的CPU时间。用来衡量不同程序的耗时,比time. time()更有用
time. ctime([secs])作用相当于asctime( localtime(secs)) ,获取当前时间字符串
time. gmtime([secs])接收时间戳(1970纪元后经过的浮点秒数)并返回时间元组t
time. localtime([secs])接收时间截(1970纪元后经过的浮点秒数)并返回当地时间的时间元组t
time, mktime(tupletime)接收时间元组并返回时间截(1970纪元后经过的浮点秒数)
time, sleep(secs)推迟调用线程的运行,Secs指秒数
time, strftime( fmt[ , tupletime])接收以时间元组,并返回以可读字符申表示的当地时间,格式由fmt决定
time, strptime(str,fmt=’%a % b%d %H:%M:%S %Y’)根据fmt的格式把一个时间字符串解析为时间元组
time. time()返回当前时间的时间戳(1970纪元后经过的浮点秒数)
import time

print(time.localtime()) #将当前时间转换为struct_time时间元组
#结果:time.struct_time(tm_year=2019, tm_mon=1, tm_mday=13, tm_hour=11, tm_min=20, tm_sec=29, tm_wday=6, tm_yday=13, tm_isdst=0)
print(time.localtime(time.time()))#将时间转化为struct_time时间元组
#结果:time.struct_time(tm_year=2019, tm_mon=1, tm_mday=13, tm_hour=11, tm_min=20, tm_sec=29, tm_wday=6, tm_yday=13, tm_isdst=0)
print(time.time())#返回当前时间的时间戳,是一个浮点数
#1547349629.7957602
print(time.mktime(time.localtime()))#讲一个struct_time转化为时间戳
结果:1547349629.0
print(time.strptime('2019-01-13 11:18:12','%Y-%m-%d %X'))#把一个格式化时间字符串转为struct_time
结果:time.struct_time(tm_year=2019, tm_mon=1, tm_mday=13, tm_hour=11, tm_min=18, tm_sec=12, tm_wday=6, tm_yday=13, tm_isdst=-1)
print(time.strftime('%Y-%m-%d %X',time.localtime()))#把一个时间元组转化为格式化字符串
结果:2019-01-13 11:20:29

4.2 random模块

随机数可以用于数学、游戏等领域中,还经常被嵌人到算法中,用以提高算法效率,并提高程序的安全性。随机数函数在random模块中,常用随机数函数见表2所示。
 


表2random模块中的函数

函数描 述
random. choice(seq)从序列的元素中随机挑选一个元素,比如random.choice(range(5)),从0到94中随机挑选- -个整数
random. randrange ([start,] stop [,step])从指定范围内,按指定step 递增的集合中获取一个随机数,step默认值为1,比如random. randrange(5),从0到54中随机挑选一个整数
random. random()随机生成下一个实数,它在[0,1)范围内
random. seed([x])改变随机数生成器的种子seed.如果你不了解其原理,你不必特别去设定seed,Python 会帮你选择seed将序列的所有元素随机排序
random. shuffle(listrandom uniform(x. y随机生成下一个实数,它在E[x,y]范围内

4.3 math模块和cmath模块

math模块实现了许多对浮点数的数学运算函数,这些函数一般是对C语言库中同名函数的简单封装,常用的math模块的数学运算函数如表3.
 


math模块的数学运算函数

函数描述
math.e自然常数e
math.pi圆周率pi
math. exp(x)返回e的x次方
math. expml(x)返回e的x次方减1
math.log(x[.base])返同x的以base 为底的对数. base默认为e
math. pow(x.y)返回x的y次方
math. sqrt(x)返回x的平方根
math. fmod(x,y)返回x%y()取余数
math. factorial(x)返回x阶乘
math. fabs(x)返回x的绝对值
math. ceil( x)返回不小于x的整数
math. floor(x)返回不大于x的整数
math. trunc(x)返回x对的整数部分
math. modf(x)返回x的小树和整数

另外,在Python中cmath包含了一些用于附属运算的函数。cmath模块的函数跟math模块的函数基本一致,区别是cmath模块运算是复数,math模块运算的是数学运算。

import cmath

print(cmath.sqrt(-1))
#结果:1j
print(cmath.sqrt(9))
#结果:(3+0j)

5.总结

这篇文章的主要内容讲解了Python基础内容——模块,并给出了其中的ime、random、math、cmath模块常用的函数,属于基础记忆性的内容。这篇内容写到这了,同时也希望大佬们批评指正,因为是新手难免会有说的不恰当甚至错误的内容,还请大佬们不要手下留情。
 

  在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值