python模块

1.模块:用来从逻辑上组织python代码(包括:变量,函数,类),实现一个功能。本质上是以.py结尾的python文件(eg:文件名test.py,模块名:test)

包:用来从逻辑上组织模块,本质上是目录(必须带有一个__init__.py文件)

2.导入方法:

import module_name  #将模块下的所有代码进行解释

import module_name1,module_name2

from module_name import var1,func1    #只将模块下的var1变量,func1函数进行解释

from module_name import func1 as func_m1 #当想要导入的函数名与该文件下的某一函数同名时,对要导入的函数重新命名

3.import本质

导入模块的本质:把python文件解释一遍

导入包的本质,:执行该包下的__init__.py文件

 4.导入优化

在一个python文件中多次调用另一个文件的某一变量、函数,可以用如下导入方法:

from module_name import func

#相当于直接这个函数加载到当前文件中,避免多次搜索

5.模块的分类

a.标注库

1.time

在python中表示时间的有:1)时间戳time.time()  #返回的是自1970年1月1日至今经过了的时间,以s为单位

2)格式化的时间表示:“2018-1-26 11:18:36”

3)元组,共9个元素

time

1 T=time.time()   #时间戳
2 day=T/3600/24/365
3 print(T,day)

1516951907.5625267 48.102229438182604

1 time.sleep(2)
2 print(time.timezone/3600)   #时区

-8.0

1 t1=time.localtime() #元组形式——显示本地时间
2 print(t1)
3 print(time.gmtime())    #元组形式——将本地(当前)时间转换为标准时间

time.struct_time(tm_year=2018, tm_mon=1, tm_mday=26, tm_hour=15, tm_min=31, tm_sec=49, tm_wday=4, tm_yday=26, tm_isdst=0)
time.struct_time(tm_year=2018, tm_mon=1, tm_mday=26, tm_hour=7, tm_min=31, tm_sec=49, tm_wday=4, tm_yday=26, tm_isdst=0)

1 #时间戳格式-->元组格式
2 print(time.localtime(129843823))
3 print(time.gmtime(23423425))

time.struct_time(tm_year=1974, tm_mon=2, tm_mday=12, tm_hour=3, tm_min=43, tm_sec=43, tm_wday=1, tm_yday=43, tm_isdst=0)
time.struct_time(tm_year=1970, tm_mon=9, tm_mday=29, tm_hour=2, tm_min=30, tm_sec=25, tm_wday=1, tm_yday=272, tm_isdst=0)

1 #struct_time-->时间戳
2 t1=time.localtime()
3 t2=time.mktime(t1)
4 print(t2)

1516951909.0

1 #struct_time-->格式化输出
2 t3=time.strftime('%Y-%m-%d %H:%M:%S',t1)
3 print(t3)

2018-01-26 15:31:49

1 #格式化输出-->元组
2 t4=time.strptime(t3,'%Y-%m-%d %H:%M:%S')
3 print(t4)
4 print(t4.tm_yday)

time.struct_time(tm_year=2018, tm_mon=1, tm_mday=26, tm_hour=15, tm_min=31, tm_sec=49, tm_wday=4, tm_yday=26, tm_isdst=-1)
26

1 #struct_time-->string
2 t5=time.asctime(t1)
3 print(t5)

Fri Jan 26 15:31:49 2018

1 #时间戳-->string
2 print(time.ctime())

Fri Jan 26 15:31:49 2018

 

datetime


1 import datetime
2 print(datetime.datetime.now())  #获取当前时间
3 print(datetime.datetime.now()+datetime.timedelta(3))  #3天后
4 print(datetime.datetime.now()+datetime.timedelta(-3))  #3天前
5 print(datetime.datetime.now()+datetime.timedelta(hours=3))  #3小时后
6 print(datetime.datetime.now()+datetime.timedelta(minutes=-3))  #3分钟前

2018-01-26 15:29:47.819468
2018-01-29 15:29:47.819468
2018-01-23 15:29:47.819468
2018-01-26 18:29:47.819468
2018-01-26 15:26:47.819468

 random

 1 import random
 2 print(random.random())  #0~1之间的浮点数
 3 print(random.uniform(1,5))  #[a,b)区间内的浮点数
 4 print(random.randint(1,5))  #[a,b]之间随机整数
 5 print(random.randrange(1,5))  #[a,b)之间随机取整数
 6 print(random.choice("hello"))    #从字符串、列表、元组中随机取值
 7 print(random.choice([1,24,5,3,5,6,7,8]))
 8 print(random.choice((1,2,3,4,6,7,8,9)))
 9 print(random.sample("hello",3))      #从字符串、列表、元组中随机取n个值
10 print(random.sample([1,24,5,3,5,6,7,8],3))
11 list1=[1,2,4,5,6,8,9,0]
12 random.shuffle(list1)    #洗牌
13 print(list1)

0.3853941518983539
1.3685647167041068
5
4
l
5
1
['e', 'l', 'o']
[6, 24, 3]
[8, 4, 2, 9, 6, 5, 0, 1]

 

b.开源模块

c.自定义模块

 

原文地址:https://www.cnblogs.com/ceceliahappycoding/p/8358550.html