2018-11-13-常用模块1 (time random os sys)
1.时间模块 time
2.随机数模块 random
3.与操作系统交互模块 os
4.系统模块 sys
在我们真正开始学习之前我们先解决下面几个问题,打好学习模块的小基础,以便更好的学习模块。
(1)什么是模块?
模块就是别人写好的代码,放在一个py文件里,给你使用.
注意:py起名的时候不要和这些我们已经只好模块名重复.
(2)模块有几种?
三种:内置模块\第三方模块\自定义模块.
(3)内置模块:和IDE一起安装上的
第三方模块:官网 pypi,python默认的可以通过pip安装的.
(4)模块是好的,但是为什么好,而不一起装上呢?
python的特点是:第三方模块非常多.
(如果都安装上,花费20个小时,就没有人用了)
每个人对python可能需要做不同的工作
(5)为什么要有模块?
(A)写好了之后直接给你用 -方便了用户的使用,提高了开发效率
(B)为了节省内存,所以把常用的(但是不是每一个程序都必须用到的)函数
(C)根据分类,来将这些函数分到不同的文件中存储起来
(D)所以我们用到哪一类方法,才把这类方法所在的模块导入到内存中,能够最大限度的节省内存
(6)函数和模块的区别:(两点)
(A)内置函数:是每一个py程序在启动的时候都会加载到内存空间中的
(B)内置模块:是以文件的形式存储在硬盘中,你用到导入的时候才开始加载到内存
(7)我们研究模块,主要需要做什么?
每个模块里有很多方法
知道每个模块能做哪些事情,每个方法是做什么的?
注意:我们今天学的都是内置模块.
1.时间模块 time
时间戳(timestamp):通常来说,时间戳表示的是从英国伦敦的1970年1月1日00:00:00开始按秒计算的偏移量.
我们可以用"type(time.time())"查看,返回的是float类型
格式化的时间字符串:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%M 分钟数(00=59)
%S 秒(00-59)
元组(结构化时间 struct_time):年,月,日,时,分,秒,一周的第几天(星期一是第0天),一年的第几天,夏令时
下面是几个例子我们练一下手:
例1:
import time #导入时间模块
print(time.time()) #时间戳
结果:1542092732.4487853
例2:
1-1
import time #导入时间模块
print(time.strftime('%Y-%m-%d %X')) #时间字符串#2018-11-13 17:59:25
# %Y 四位数的年份表示(000-9999)
# %m 月份(01-12)
# %d 月内中的一天(0-31)
# %X 本地相应的时间表示
#结果:#2018-11-13 17:59:25
1-2
import time #导入时间模块
print(time.strftime('%Y-%m-%d %H-%M-%S')) #2018-11-13 17-59-25
# %H 24小时制小时数(0-23)
# %M 分钟数(00=59)
# %S 秒(00-59)
#结果:2018-11-13 17-59-25
1-3
import time #导入时间模块
print(time.strftime('%x %X')) #11/13/18 17:59:25
# %x 本地相应的日期表示
# %X 本地相应的时间表示
#结果:11/13/18 17:59:25
1-4 #时间元组:localtime将一个时间戳转换为当前时区的struct_time
import time # 导入时间模块
print(time.localtime())
#结果: time.struct_time(tm_year=2018, tm_mon=11,
tm_mday=13, tm_hour=19, tm_min=3,
tm_sec=41, tm_wday=1, tm_yday=317, tm_isdst=0) #时间元组格式
time-几种格式之间的转换
例三:
1-1
时间戳=>结构化时间
#time.gmtime(时间戳) #UTC时间,与英国伦敦当地时间一致
#time.localtime(时间戳) #当地时间,比如,我们现在在中国,执行这个方法:与UTC时间相差8个小时,UTC+8h=北京时间
#查看15亿秒的时间戳的结构化时间
import time
print(time.gmtime(1500000000))
#结果:time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=2, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0)
#查看15亿秒的时间戳的北京(当地)结构化时间
import time
print(time.localtime(1500000000))
结果:time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=10, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0)
1-2
结构化时间=>时间戳
import time
time_tuple = time.localtime(1500000000)
print(time.mktime(time_tuple))
#结果:1500000000.0
#注意最后结果是浮点型的
例四:
#结构化时间=>字符串时间
#time.strftime('格式定义','结构化时间') #结构化时间参数若不传,则显示当前时间
1-1
import time
print(time.strftime("%Y-%m-%d %X"))
结果:2018-11-13 19:40:30
1-2
import time
print(time.strftime("%Y-%m-%d",time.localtime(1500000000)))
结果:2017-07-14
#字符串时间=>结构化时间
#time.striptime(时间字符串,字符串对应格式)
1-1
import time
print(time.strptime("2017-03-16","%Y-%m-%d"))
结果:time.struct_time(tm_year=2017, tm_mon=3, tm_mday=16, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=75, tm_isdst=-1)
1-2
import time
print(time.strptime("07/24/2017","%m/%d/%Y"))
结果:time.struct_time(tm_year=2017, tm_mon=7, tm_mday=24, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=205, tm_isdst=-1)
2.随机数模块 random
3.与操作系统交互模块 os
4.系统模块 sys
1-4 #时间元组:localtime将一个时间戳转换为当前时区的struct_time
import time # 导入时间模块
print(time.localtime())
#结果: time.struct_time(tm_year=2018, tm_mon=11,
tm_mday=13, tm_hour=19, tm_min=3,
tm_sec=41, tm_wday=1, tm_yday=317, tm_isdst=0) #时间元组格式
time-几种格式之间的转换
例三:
1-1
时间戳=>结构化时间
#time.gmtime(时间戳) #UTC时间,与英国伦敦当地时间一致
#time.localtime(时间戳) #当地时间,比如,我们现在在中国,执行这个方法:与UTC时间相差8个小时,UTC+8h=北京时间
#查看15亿秒的时间戳的结构化时间
import time
print(time.gmtime(1500000000))
#结果:time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=2, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0)
#查看15亿秒的时间戳的北京(当地)结构化时间
import time
print(time.localtime(1500000000))
结果:time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=10, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0)
1-2
结构化时间=>时间戳
import time
time_tuple = time.localtime(1500000000)
print(time.mktime(time_tuple))
#结果:1500000000.0
#注意最后结果是浮点型的
例四:
#结构化时间=>字符串时间
#time.strftime('格式定义','结构化时间') #结构化时间参数若不传,则显示当前时间
1-1
import time
print(time.strftime("%Y-%m-%d %X"))
结果:2018-11-13 19:40:30
1-2
import time
print(time.strftime("%Y-%m-%d",time.localtime(1500000000)))
结果:2017-07-14
#字符串时间=>结构化时间
#time.striptime(时间字符串,字符串对应格式)
1-1
import time
print(time.strptime("2017-03-16","%Y-%m-%d"))
结果:time.struct_time(tm_year=2017, tm_mon=3, tm_mday=16, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=75, tm_isdst=-1)
1-2
import time
print(time.strptime("07/24/2017","%m/%d/%Y"))
结果:time.struct_time(tm_year=2017, tm_mon=7, tm_mday=24, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=205, tm_isdst=-1)
2.随机数模块 random
3.与操作系统交互模块 os
4.系统模块 sys