1.定义:
模块:用来从逻辑上组织python代码(变量、函数、类、逻辑:实现一个功能),本质就是.py结尾的python文件
包:用来从逻辑上组织模块的,本质就是一个目录(必须带有一个__init__.py文件)

2.导入方法

import module_name1,module_name2
from module import * (不建议使用)
from module import m1,m2,m3
from module import m1 as m

3.import 本质
导入模块的本质就是把python文件解释一遍
导入包的本质就是执行该包下面的__init__.py文件

import的扩展

 

1).__import__() :

  函数用于动态加载类和函数 。如果一个模块经常变化就可以使用 __import__() 来动态载入。
语法:__import__(name[, globals[, locals[, fromlist[, level]]]]) 其中name为模块名字,还可以动态加载包里的模块

 

注:不建议使用

 

2).importlib模块

 

导入形式为:



import importlib
lib = importlib.import_module(name, package=None)



注:官方建议使用

 

官方教程:http://python.usyiyi.cn/translate/python_352/library/importlib.html#module-importlib

 

 

4.导入优化

from module_test import test

5.模块分类
  a.标准库
  b.开源模块
  c.自定义模块

标准库:
1.time与datetime

strftime("格式",struct_time)----->"格式化的字符串"
strptime("格式化的字符串","格式")

6.模块大全

http://blog.51cto.com/egon09/p2

 

7.例子



import time

print(time.time())                      #返回当前时间的时间戳
print(time.altzone)                     #返回与utc时间的时间差,以秒计算  -32400
print(time.asctime())                   #返回时间格式"Fri Jan 26 20:38:48 2018",
print(time.gmtime())                     #gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time

print(time.mktime(time.localtime()))       #将一个struct_time转化为时间戳

print(time.asctime())                    #把一个表示时间的元组或者struct_time表示为这种形式:'Fri Jan 26 20:38:48 2018'。如果没有参数,将会将time.localtime()作为参数传入。


print(time.asctime(time.gmtime()))        # 把一个表示时间的元组或者struct_time表示为这种形式:'Fri Jan 26 20:38:48 2018'。如果没有参数,将会将time.localtime()作为参数传入。



print(time.ctime())                      #把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。如果参数未给或者为None的时候,将会默认time.time()为参数。它的作用相当于time.asctime(time.localtime(secs))。



string_2_struct = time.strptime("2018-01-26 20:38:48","%Y-%m-%d %H:%M:%S") #将 日期字符串 转成 struct时间对象格式
print(string_2_struct)

print(time.gmtime(time.time() - 98546)                       # 将utc时间戳转换成struct_time格式
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))     #将utc struct_time格式转成指定的字符串格式


import datetime

print(datetime.datetime.now())
print(datetime.date.fromtimestamp(time.time()))          # 时间戳直接转成日期格式2018-01-26
print(datetime.datetime.now()+datetime.timedelta(6))       #当前时间+6天
print(datetime.datetime.now()-datetime.timedelta(6))            #当前时间-6天
print(datetime.datetime.now()+datetime.timedelta(hours=6))        #当前时间+6小时
print(datetime.datetime.now()+datetime.timedelta(minutes=30))      #当前时间+30分
c_time  = datetime.datetime.now()
print(c_time.replace(minute=3,hour=2))                              #时间替换