十、模 块
1、模块介绍
1、概述:
目前代码比较多,写在一个文件中还体现不出来,但是随着代码量越来越多,代码就越来越难以维护。为了解决难以维护的问题,我们把很多相似功能的函数分组分别放到不同的文件中去,这样每个文件所包含的内容相对较少而且对于每一个文件的大致功能可以用文件名来体现,很多不错语言都是这样用的,一个.py文件就是一个模块。而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块。
如:os 是系统相关的模块;file是文件操作相关的模块
-
2、优点:
1、提高代码维护性
2、提高了代码的复用度,当一个模块完毕,可以被多个地方引用
3、引用其他的模块,内置模块和第三方模块和自定义模块
4、避免函数名和变量名的冲突
3、模块分为三种:自定义模块 内置模块 开源模块
扫描二维码关注公众号,回复:
723561 查看本文章
2、time & datetime模块
#_*_coding:utf-8_*_ __author__ = 'Alex Li' import time # print(time.clock()) #返回处理器时间,3.3开始已废弃 , 改成了time.process_time()测量处理器运算时间,不包括sleep时间,不稳定,mac上测不出来 # print(time.altzone) #返回与utc时间的时间差,以秒计算\ # print(time.asctime()) #返回时间格式"Fri Aug 19 11:14:16 2016", # print(time.localtime()) #返回本地时间 的struct time对象格式 # print(time.gmtime(time.time()-800000)) #返回utc时间的struc时间对象格式 # print(time.asctime(time.localtime())) #返回时间格式"Fri Aug 19 11:14:16 2016", #print(time.ctime()) #返回Fri Aug 19 12:38:29 2016 格式, 同上 # 日期字符串 转成 时间戳 # string_2_struct = time.strptime("2016/05/22","%Y/%m/%d") #将 日期字符串 转成 struct时间对象格式 # print(string_2_struct) # # # struct_2_stamp = time.mktime(string_2_struct) #将struct时间对象转成时间戳 # print(struct_2_stamp) #将时间戳转为字符串格式 # print(time.gmtime(time.time()-86640)) #将utc时间戳转换成struct_time格式 # print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) ) #将utc struct_time格式转成指定的字符串格式 #时间加减 import datetime # print(datetime.datetime.now()) #返回 2016-08-19 12:47:03.941925 #print(datetime.date.fromtimestamp(time.time()) ) # 时间戳直接转成日期格式 2016-08-19 # print(datetime.datetime.now() ) # print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天 # print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天 # print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时 # print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分 # c_time = datetime.datetime.now() # print(c_time.replace(minute=3,hour=2)) #时间替换
10.1 模块基本使用
# 引入模块 import module1, module2....... # 调用模块中的函数 模块名.函数名 # 引入模块中的某个函数 from 模块名 import 函数名1, 函数名2..... from fib import fibonacci # 把模块的内容全部导入当前的命名空间 from 模块名 import * from math import *
10.2 模块制作
# 模块test01.py def add(a, b): return a + b # 用来测试
# 本文件单独运行时运行测试语句,被调用成模块时,不运行 if __name__ == '__main__': result = add(11, 22) print('int test02.py file, __name__ is %s'%__name__)
# 调用模块test02.py from test02 import add result = add(11, 22) print(result)