python 之模块一

  一.什么是模块         

  一个模块就是一个包含了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-36615 %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)

猜你喜欢

转载自www.cnblogs.com/baijinshuo/p/9508199.html