一.什么是模块
一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀.
但其实import加载的模块分为四个通用类型.
1.使用python编写的代码(.py文件)
2.已被编译为共享库或DLL的C或C++扩展
3.包好一组模块的包
4.使用C编写并链接到python解释器的内置模块
二.random模块
2.1取随机小数
1 print(random.random()) #取大于0且小于1之间的小数 2 3 print(random.uniform(1,2)) #取大于1小于2的小数 4 5 #0.13736924041855758 6 #1.0480391833956955
2.2随机取整数
print(random.randint(1,3)) #取大于等于1小于等于3之间的整数 print(random.randrange(1,5,2)) #取大于等于1,小于5之间的奇数 #3 #1
2.3随机选择返回
1 print(random.choice([1,3,5,6,])) #随机选择一个值返回 2 1 3 4 print(random.sample([1,3,5,6,],2)) #列表任意两个组合 5 6 [6, 3]
2.4打乱列表顺序
1 li = [1,2,3,4,5,6] 2 random.shuffle(li) #打乱次序在原列表上进行操作 3 print(li) 4 #[6, 1, 4, 5, 3, 2] 5 6 random.shuffle(li) #打乱次序 7 print(li) 8 #[5, 4, 1, 3, 2, 6]
#生成随机验证码 def func(n = 6): s = '' for i in range(n): shuzi = str(random.randint(0,9)) dzimu = chr(random.randint(65,90)) xzimu = chr(random.randint(97,122)) yzm = random.choice([shuzi,dzimu,xzimu]) s += yzm return s print(func()) #c71shi
三.时间模块
和时间有关系的我们就要用到时间模块.在使用之前,首先应该导入这个模块
1 #常用方法 2 1.time.sleep(secs) 3 (线程)推迟指定的时间运行。单位为秒。 4 2.time.time() 5 获取当前时间戳
表示时间的三种方式
在python中,通常由和三种方式来表示时间:时间戳,元组,格式化的时间字符串:
(1)时间戳:通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量,我们运行"type(time.time())",返回的是一个float类型.
(2)格式化的时间字符串(Format String):"1999-01-27"
1 %y 两位数的年份表示(00-99) 2 %Y 四位数的年份表示(000-9999) 3 %m 月份(01-12) 4 %d 月内中的一天(0-31) 5 %H 24小时制小时数(0-23) 6 %I 12小时制小时数(01-12) 7 %M 分钟数(00=59) 8 %S 秒(00-59) 9 %a 本地简化星期名称 10 %A 本地完整星期名称 11 %b 本地简化的月份名称 12 %B 本地完整的月份名称 13 %c 本地相应的日期表示和时间表示 14 %j 年内的一天(001-366) 15 %p 本地A.M.或P.M.的等价符 16 %U 一年中的星期数(00-53)星期天为星期的开始 17 %w 星期(0-6),星期天为星期的开始 18 %W 一年中的星期数(00-53)星期一为星期的开始 19 %x 本地相应的日期表示 20 %X 本地相应的时间表示 21 %Z 当前时区的名称 22 %% %号本身
(3)元组(struct_time):struct_time元组共有9个元素(年,月,日,时,分,秒,一年中的第几周,一年中的第几天等)
索引(Index) | 属性(Attribute) | 值(Values) |
---|---|---|
0 | tm_year(年) | 比如2011 |
1 | tm_mon(月) | 1 - 12 |
2 | tm_mday(日) | 1 - 31 |
3 | tm_hour(时) | 0 - 23 |
4 | tm_min(分) | 0 - 59 |
5 | tm_sec(秒) | 0 - 60 |
6 | tm_wday(weekday) | 0 - 6(0表示周一) |
7 | tm_yday(一年中的第几天) | 1 - 366 |
8 | tm_isdst(是否是夏令时) | 默认为0 |
time模块中表示时间的几种格式:
1 #导入时间模块 2 import time 3 4 #时间戳 5 6 print(time.time()) 7 #1534770069.0156257 8 9 #时间字符串 10 print(time.strftime("%Y-%m-%d %X")) 11 #2018-08-20 21:03:22 12 print(time.strftime("%Y-%m-%d %H-%M-%S")) 13 #2018-08-20 21-04-20 时间元组 print(time.localtime()) #time.struct_time(tm_year=2018, tm_mon=8, tm_mday=20, tm_hour=21, tm_min=6, tm_sec=7, tm_wday=0, tm_yday=232, tm_isdst=0)
几种格式之间的转化
1 #时间戳-->结构化时间 2 #time.gmtime(时间戳) #UTC时间,与英国伦敦当地时间一致 3 #time.localtime(时间戳) #当地时间。例如我们现在在北京执行这个方法:与UTC时间相差8小时,UTC时间+8小时 = 北京时间 4 >>>time.gmtime(1500000000) 5 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) 6 >>>time.localtime(1500000000) 7 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) 8 9 #结构化时间-->时间戳 10 #time.mktime(结构化时间) 11 >>>time_tuple = time.localtime(1500000000) 12 >>>time.mktime(time_tuple) 13 1500000000.0
#结构化时间-->字符串时间 #time.strftime("格式定义","结构化时间") 结构化时间参数若不传,则显示当前时间 >>>time.strftime("%Y-%m-%d %X") '2017-07-24 14:55:36' >>>time.strftime("%Y-%m-%d",time.localtime(1500000000)) '2017-07-14' #字符串时间-->结构化时间 #time.strptime(时间字符串,字符串对应格式) >>>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) >>>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)
1 #结构化时间 --> %a %b %d %H:%M:%S %Y串 2 #time.asctime(结构化时间) 如果不传参数,直接返回当前时间的格式化串 3 print(time.asctime(time.localtime(1500000000))) 4 Fri Jul 14 10:40:00 2017 5 print(time.asctime()) 6 Mon Aug 20 21:19:20 2018 7 8 #时间戳 --> %a %b %d %H:%M:%S %Y串 9 #time.ctime(时间戳) 如果不传参数,直接返回当前时间的格式化串 10 print(time.ctime()) 11 Mon Aug 20 21:19:20 2018 12 print(time.ctime(1500000000)) 13 Fri Jul 14 10:40:00 2017
四.sys模块
sys模块是与python解释器交互的一个接口
sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0),错误退出sys.exit(1) sys.version 获取Python解释程序的版本信息 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 sys.platform 返回操作系统平台名称
#异常处理
import sys
try:
sys.exit(1)
except SystemExit as e:
print(e)