一.什么是模块
一个模块就是一个包含了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)