python 3.x 学习笔记7 ( 模块 (修))

时间:2021-09-17 02:37:42

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)) #时间替换