python模块知识
一、定义
模块是用来从逻辑上组织python代码(变量、函数、类、逻辑:实现一个功能),本质上就是一个python文件。
包:本就就是一个目录,必须带有一个__init__.py文件
二、导入方法
impor使一个变量名引用整个模块对象,必须通过模块名称来得到该模块的属性。
from会把变量名复制到另外一个作用域,所以它就可以让我们直接在脚本中使用复制后的变量名,而不需要通过模块。就像def一样,import和from是可执行语句,而不是编译期间的声明,而且它们可以嵌套在if测试中,出现在函数def之中等,直到执行程序时,python执行到这些语句,才会进行解析。
import module_name
import module_name,module2_name
from module_name import *( 不建议使用这种方法。相当于将module_name中的代码 全部复制到当前文件下)
from module_name import m1,m2,m3(从module_name中导入m1,m2,m3到当前文件下)
from module_name import m1 as m2 (从module_name中导入m1并在当前文件中命名为m2)
创建一个test1.py文件,在test2中添加test1模块。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:zkilr
#test1.py
name = 'zhaokai'
def sayhello():
print('hello,' + name)
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:zkilr
#test2.py
import tets1
print( tets1.name )
tets1.sayhello()
导入包的本质就是在执行包下面的__init__文件
新建一个douyin文件夹,创建两个python文件,一个是tets1.py,两外一个是__init__.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:zkilr
#__init__.py
from . import tets1
#test1.py
name = 'zhaokai'
def sayhello():
print('hello,' + name)
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:zkilr
#test2.py
import douyin
douyin.tets1.sayhello()
三、import本质
import module_name是将调用模块的代码解释一遍并统一赋值给了module_name。所以调用方法为module_name.xxxx。
四、各个模块
python中的模块可分为三类分别是:标准库模块、开源模块、自定义模块
1、时间模块:time和datatime模块,在python中通常有这几种方式来表示时间:
(1)timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。
(2)format_time格式化的时间字符串
(3)struct_time元祖共九个元素。
import time
# 生成timestamp
time.time()
# 1477471508.05
#struct_time to timestamp
time.mktime(time.lo