Day5 - Python基础5 常用模块学习

Day5 - Python基础5 常用模块学习模块介绍1.定义: 模块:用来从逻辑上组织python代码(变量、函数、类、逻辑:实现一个功能),本质就是*.py结尾的python文件(文件名:test.py,对应的模块名:test)包:用来从逻辑上组织模块,本质就是一个目录(必须带一个__init__.py的文件)2.导入方法import module1_name,module2_namefrom module_name import  *(慎用,可能会和main中其它模块冲突)from module_name import  function1_name,function1_name(导入多个方法)from module_name import  function_name as new_ function_name(as可以在导入时给模块起别名,避免和其它模块名冲突)3.import本质(路径搜索和搜索路径)导入模块的本质就是把python文件解释一遍导入包的本质就是执行包下面的__init__.py文件,所以要在__init__.py文件把包下面的模块import
1 #-*- coding:utf-8 -*-
2 from . import test1 #.指从当前路径,导入test1模块
import module_name--->module_name.py---->module_name.py的路径---->sys.pathfrom module import function_name-->使用时可以直接调用function_nameimport module---->相当于把module下面的代码赋值给了module,调用时要module.function_name方式 模块路径获取方法(搜索sys.path中的目录):
1 #-*- coding:utf-8 -*-
2 import sys,os
3 x=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
4 print(x)
5 #os.path.abspath(__file__)获取当前文件绝对路径 
6 #os.path.dirname()获取文件当前目录
7 sys.path.append(x)  #将路径加入python搜索路径
模块路径获取方法4.导入优化   当前路径导入优化
 1 #-*- coding:utf-8 -*-
 2 #每次调用都要搜索module_test路径
 3 import module_test
 4 def logger():
 5     module_test.test()
 6     print('in the logger')
 7 
 8 def search():
 9     module_test.test()
10     print('in the search')
11 
12 #不用每次搜索module_test路径,代码更优化
13 from module_test import test
14 def logger():
15     test()
16     print('in the logger')
17 
18 def search():
19     test()
20     print('in the search')
View Code5.模块的分类  a.标准库  b.开源模块  c.自定义模块time &datetime模块  time模块  定义:时间戳timestamp-以1970/1/1 0时间为准,往后的以秒为单位的时间偏移量格式化时间format string-以特定格式输出的时间,如2018/5/1 02:00:00结构化时间stuct-time-元组形式返回的时间,有9个元素(年月日时分秒、第几周、一年第几天、夏令时)  3种格式的转换关系:         datetime模块# print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天 # print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天 # print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时 # print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分random
 1 #0和1之间的小数
 2 >>> random.random()
 3 0.6736917079809672
 4 
 5 #1=< <=3
 6 >>> random.randint(1,3)
 7 3
 8 
 9 #1=< <3
10 >>> random.randrange(1,3)
11 2
12 
13 #1或23或5
14 >>> random.choice([1,'23',[5]])
15 [5]
16 
17 #随机取列表中2个
18 >>> random.sample([1,'23',[5]],2)
19 [[5], 1]
20 
21 #1和3之间的小数
22 >>> random.uniform(1,3)
23 1.8304702567160465
24 
25 #洗牌
26 >>> item = [1,2,3,4]
27 >>> random.shuffle(item)
28 >>> item
29 [3, 4, 1, 2]
View Code os  OS是和操作系统交互的接口,常用于系统文件、文件夹、路径等相关操作sys  sys.argv-从外部获取参数的桥梁,获取的参数以list方式存储
1 import sys
2 
3 a=sys.argv
4 print(a)
5 
6 c:>test.py what is this
7 ['C:\test.py', 'what', 'is', 'this']
View Codeshutil  高级的文件、文件夹和压缩处理模块json & picle  eval-内置函数,可以把字符串变成python执行对象  序列化:把内存中对象(变量)变成可存储和传输的过程      好处:1.持久保存,如挂机状态就是序列表的应用;2.跨平台交互数据shelve  序列化模块xml处理  实现不同语言和程序之间交换数据的协议,没有json方便,以前使用,不过有些金融单位还在使用yaml处理 configparser  标准配置文件配置模块,格式和windown ini文件一样hashlib  hash模块subprocess  logging模块  日志模块re正则表达式  清除原臨時配置

相关内容推荐