创建使用模块与datetime模块使用

为了实现对程序特定功能的调用和存储,人们将代码封装起来,可以供其它程序调用,可以称之为模块。 使用模块的好处:
程序可扩展性
减少程序代码
方便程序架构的更改 Python 自带有200多个常用模块, Python官网现在已收集了2000多个模块,你基本上可以找到你想要的任何功能
import  模块的引入
import module1[, module2[,... moduleN]
如,导入系统模块
import math,os,sys
 
制作模块
vim  first_module.py
#!/usr/bin/python
name = 'my first module '
def print_name():
    nama= raw_input('what is your name?\n')
    print 'hello,',name
    return

 

 
导入某个module中的所有元素
想把目录变成导入的包,把目录的中所有元素一起导入,在目录下创建__init__.py文件中写入
__all__ = ['module_13', 'module_12']   ##模块元素名
 
再倒入时为了让.py文件不执行,需要在文件末尾添加如下
if __name__ == '__main__':  ##如果手动执行 __name__方法为__main__,则执行函数,
    query()

 

 
 
import 导入first_module
>>> import first_module       ##导入
>>> dir(first_module)            ##查看属性,方法
['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'name', 'print_name']
>>> first_module.print_name()       ##执行.print_name()方法
what is your name?
laing
hello, my first module 
>>> 

 

 
 
datetime 模块
是Python处理日期和时间的标准库。
>>> from datetime import datetime
>>> now = datetime.now()       # 获取当前datetime
>>> print(now)
2017-11-09 23:50:41.356000
>>> print(type(now))
<class 'datetime.datetime'>

 

格式参数:
%Y 带世纪部分的十制年份
%m 十进制表示的月份
%d 十进制表示的每月的第几天
%H 24小时制的小时
%M 十时制表示的分钟数
%S 十进制的秒数
%c  标准时间,如:04/25/17 14:35:14  类似于这种形式
 
 
 
时间的三种存在方式:时间对象,时间字符串,时间戳。
 
(1)    字符串转datetime:
from datetime import datetime, timedelta
string = '2017-11-09 23:50:41'
time1 = datetime.strptime(string, '%Y-%m-%d %H:%M:%S')
print(time1)
print(type(time1))
结果:
2017-11-09 23:50:41
<type 'datetime.datetime'>
(2)    datetime转字符串:
from datetime import datetime, timedelta
string = '2017-11-09 23:50:41'
time1 = datetime.strptime(string, '%Y-%m-%d %H:%M:%S')
print(time1)
print(type(time1))
time1_str = datetime.strftime(time1, '%Y-%m-%d %H:%M:%S')
print(type(time1_str))
print(time1_str)
结果:
2017-11-09 23:50:41
<type 'datetime.datetime'>
<type 'str'>
2017-11-09 23:50:41
 
(3)时间戳转时间对象:
from datetime import datetime, timedelta
import time
time1 = time.time()
print(time1)
time1_str = datetime.fromtimestamp(time1)
print(time1_str)
print(type(time1_str))
结果:
1493107955.66
2017-11-09 23:50:41.660000
<type 'datetime.datetime'>
解释:
1,    datetime模块是包装了time模块的,所以只需要了解datetime模块就可以。
2,    time.time()是或者当前时间的时间戳,时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
3,    datetime下面下面有个函数fromtimestamp(时间戳)会把时间戳自动转换成datetime类型
 
 
 

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

posted on 2017-11-10 00:02  song-liang  阅读(797)  评论(0编辑  收藏  举报

导航