一、模块与包

  模块,在Python可理解为对应于一个文件。在创建了一个脚本文件后,定义了某些函数和变量。你在其他需要这些功能的文件中,导入这模块,就可重用这些函数和变量。一般用module_name.fun_name,和module_name.var_name进行使用。这样的语义用法使模块看起来很像类或者名字空间,可将module_name 理解为名字限定符。模块名就是文件名去掉.py后缀。

  通常包总是一个目录,可以使用import导入包,或者from + import来导入包中的部分模块。包目录下为首的一个文件便是 __init__.py。然后是一些模块文件和子目录,假如子目录中也有 __init__.py 那么它就是这个包的子包了。
  在创建许许多多模块后,我们可能希望将某些功能相近的文件组织在同一文件夹下,这里就需要运用包的概念了。包对应于文件夹,使用包的方式跟模块也类似,唯一需要注意的是,当文件夹当作包使用时,文件夹需要包含__init__.py文件,主要是为了避免将文件夹名当作普通的字符串。__init__.py的内容可以为空,一般用来进行包的某些初始化工作或者设置__all__值,__all__是在from package-name import *这语句使用的,全部导出定义过的模块

二、import导入

  在python用import或者from…import或者from…import…as…来导入相应的模块,作用和使用方法与C语言的include头文件类似。其实就是引入某些成熟的函数库和成熟的方法,避免重复造轮子,提高开发速度。python的import方法可以引入系统的模块,也可以引入我们自己写好的共用模块。

  import的几种用法:

  1.如果是本地导入文件,直接使用:import filename

  2. 如果导入的是一个包,该包下面必须是有__init__.py文件才可以导入,否则报错,只有有了__init__.py文件,python解析器才会把这个目录当成是的包

  在导入的时候,.py的后缀直接省略,如果是多级的包,或者想导入包里面的函数等,可以使用from进行导入。实例如下:

#test.py
def hello():
print('hello world')
import momo.test
momo.test.hello() from momo import test
test.hello() from momo.test import hello
hello() import momo.test as aaa
print ('aaaaaaaaaaaaaa')
aaa.hello()
print ('aaaaaaaaaaaaaa')

结果:

 

三、datatime获得时间

  在 Python 文档里,time是归类在Generic Operating System Services中,换句话说, 它提供的功能是更加接近于操作系统层面的。通读文档可知,time 模块是围绕着 Unix Timestamp 进行的。关于时间子类之间的对应关系:

object
timedelta
tzinfo
time
date
datetime

  实例:获取当前的时间

from datetime import datetime, timedelta

now_time = datetime.now()
print (now_time)
new_time = now_time.strftime('%Y-%m-%d %H:%M:%S')
a = now_time.strftime('%c')
print (new_time)
print (a)

  结果:

  解释:

  1. 先导入datetime类

  2. 通过datetime的now方法就获得当前所需要的时间

  3.datetime还是有好多方法的,可以获取year, month,等,请通过dir()方法查看

  4.此时我们获得的now_time还是一个datetime类,所以我们需用用strftime方法转换成字符串,strftime的参数就是最终需要字符串的形式。

  5.Strftime需要便是时间的参数有很多,下面我们介绍一下最长用的一些参数:

  格式参数:

    %Y 带世纪部分的十制年份

    %m 十进制表示的月份

    %d 十进制表示的每月的第几天

    %H 24小时制的小时

    %M 十时制表示的分钟数

    %S 十进制的秒数

    %c  标准时间,如:04/25/17 14:35:14  类似于这种形式

  实例:获取当前日期的前一天与后一天

now_time = datetime.now()
yesterday = now_time + timedelta(days=-1)
tomorrow = now_time + timedelta(days=+1)
tomorrow = tomorrow.strftime('%Y-%m-%d')
print (yesterday)
print (tomorrow)

  结果:

  解释:正数代表几天之后的,负数代表几天之前的

四、时间格式的相互转换

  时间有三种存在方式:时间对象(datetime)、时间字符串(str)、时间戳(timestamp)

  1.时间对象转换为时间字符串(datetime → str)

from datetime import datetime
import time
now_time = datetime.now()
print (now_time)
print (type(now_time))
print ('##########time to str############')
_time = now_time.strftime('%Y-%m-%d %H:%M:%S')
print (_time)
print (type(_time))

 结果:

  2.时间字符串转换为时间对象(str → datetime)

print ('###########str to time################')
d_time = datetime.strptime(_time,'%Y-%m-%d %H:%M:%S')
print (d_time)
print (type(d_time))

  结果:

  3.时间戳转换为时间对象(timestamp → datetime)

_a = time.time()
print (_a)
_n_time = datetime.fromtimestamp(_a)
print (_n_time)
print (type(_n_time))

  结果:

  

最新文章

  1. 20155315庄艺霖--对做中学的理解及对c语言和Java的看法
  2. Windows10环境搭建Elasticsearch+Kibana+Marvel
  3. Python之迭代器和生成器
  4. (七)STM32的RTC简单操作
  5. ng-init
  6. Kali linux网络配置
  7. Linux内核ROP学习
  8. div有最小高度且自适应高度
  9. 创建对象时引用的关键字,assign,copy,retain
  10. double类型之四舍五入
  11. 【Harmony】概述
  12. Linux运维项目实战系列
  13. java中websocket的应用
  14. MySQL安装及环境搭建
  15. Spring Boot(二):数据库操作
  16. Very Long Suffix Array
  17. JVM·垃圾收集器与内存分配策略之对象是否可被回收!
  18. Halcon算子学习
  19. MYSQL 中的 int(11) 到底代表什么意思?
  20. 分布式ID生成学习

热门文章

  1. 从零开始Vue项目实战(一)-准备篇
  2. python:生成器进阶
  3. idea + maven + webapp 项目搭建
  4. HTTP请求方式中8种请求方法(简单介绍)
  5. 运lucky
  6. Android学习笔记_30_常用控件使用
  7. HDU 1220 Cube(数学,找规律)
  8. MVC5 数据注解和验证
  9. Java并发编程:JMM和volatile关键字
  10. Centos6.9 安装Oracle11gR2