1:模块定义

         模块:用来从逻辑上组织Python代码(变量,函数、类,逻辑:实现一个功能),本质就是.py结尾的Python文件(文件名:test.py,对应的模块名,test)。

         包:本质就是一个文件夹或者是目录(必须带有一个_init_.py文件),包是用来从逻辑上组织模块的。

2.导入方法:

1):import module_test, module_test1 (调用方法的时候,需要module_test.   )

2):form moudule_test import * (* 表示所有的方法)(不建议使用,这个就相当于导入了程序。)  容易造成覆盖,出现问题。

3):form module_test import module_ajun  as module_ajun_test(作为一个别名来使用)

3:import本质 (路径 搜索和搜索路径)

1)      import module_test  相当于把module_test 的所有代码解释一遍,全部传递给module_test. 调用module_test的变量和方法。

2)      form moudule_test import name 相当于值调用了name变量,在当前模块,就不需要加前缀了。

总结:导入模块的本质就是把Python文件解释一遍。(import test  test=’test.py  all code’)

           导入包的本质就是执行包下面的_init_.py文件

            Import module_name--》mudule_name.py--》module_name.py的路径--》sys.path

 python学习-06(模块化编程)

 

os.path.abspath(_file_)=获取 当前目录

os.path.dirname(os.path.abspath(_file_))=获取当前目录的父目录

os.path.dirname(os.path.dirname (os.path.abspath(_file_)))=获取当前目录的父目录 的父目录

form .(点表示当前目录,就是_init_的目录)  import 包名

4.导入优化

        python学习-06(模块化编程)

怎么优化?每次都去找,很浪费时间?

使用from module_test  import test 这个方法,节约时间。

5.模块的分类

A:标准库

B:开源模块

C:自定义模块

 

A标准库

5.1time与datetime 两个库。

1)表示时间,格式化的时间格式:2017-07-28

2)时间戳:从1970.1.1日到现在总共经过了多少秒?

为什么从1970年1月1日开始呢?

3)元祖,共有九个元素表示。


UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间。在中国为UTC+8。DST(Daylight Saving Time)即夏令时。 

时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。返回时间戳方式的函数主要有time(),clock()等。 

元组(struct_time)方式:struct_time元组共有9个元素,返回struct_time的函数主要有gmtime(),localtime(),strptime()。下面列出这种方式元组中的几个元素: 

 1 #Author:ajun
 2 import time
 3 
 4 #print(time.process_time())#测量处理器运算时间,不包括sleep时间,不稳定
 5 #print(time.altzone)  #返回与utc时间的时间差,以秒计算\
 6 #print(time.asctime()) #返回时间格式Wed Jun 28 21:38:29 2017 格式,
 7 #print(time.localtime()) #返回本地时间 的struct time对象格式
 8 #print(time.gmtime(time.time()-800000)) #返回utc时间的struc时间对象格式
 9 #print(time.asctime(time.localtime())) #返回时间格式"Fri Aug 19 11:14:16 2016",
10 #print(time.ctime()) #返回Wed Jun 28 21:38:29 2017 格式, 同上
11 # 日期字符串 转成  时间戳
12 string_2_struct = time.strptime("2017/06/28","%Y/%m/%d") #将 日期字符串 转成 struct时间对象格式
13 print(string_2_struct)
14 # #
15 struct_2_stamp = time.mktime(string_2_struct) #将struct时间对象转成时间戳
16 print(struct_2_stamp)
17 
18 #将时间戳转为字符串格式
19 print(time.gmtime(time.time()-86640)) #将utc时间戳转换成struct_time格式
20 print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) ) #将utc struct_time格式转成指定的字符串格式
21 
22 #时间加减
23 import datetime
24 
25 print(datetime.datetime.now()) #返回 2017-06-28 21:11:01.433280
26 print(datetime.date.fromtimestamp(time.time()) )  # 时间戳直接转成日期格式 2017-06-28
27 # print(datetime.datetime.now() )
28 # print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天
29 # print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天
30 # print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时
31 # print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分
32 
33 #修改时间
34 c_time  = datetime.datetime.now()
35 print(c_time.replace(minute=3,hour=2)) #时间替换)) #时间替换
时间模块

相关文章: