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

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

模块介绍

1.定义:

 模块:用来从逻辑上组织python代码(变量、函数、类、逻辑:实现一个功能),本质就是*.py结尾的python文件(文件名:test.py,对应的模块名:test)

包:用来从逻辑上组织模块,本质就是一个目录(必须带一个__init__.py的文件)

2.导入方法

import module1_name,module2_name

from 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

扫描二维码关注公众号,回复: 1015749 查看本文章
1 #-*- coding:utf-8 -*-
2 from . import test1 #.指从当前路径,导入test1模块

import module_name--->module_name.py---->module_name.py的路径---->sys.path

from module import function_name-->使用时可以直接调用function_name

import 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 Code

5.模块的分类

  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 Code

shutil

  高级的文件、文件夹和压缩处理模块

json & picle

  eval-内置函数,可以把字符串变成python执行对象

  序列化:把内存中对象(变量)变成可存储和传输的过程

      好处:1.持久保存,如挂机状态就是序列表的应用;2.跨平台交互数据

shelve

  序列化模块

xml处理

  实现不同语言和程序之间交换数据的协议,没有json方便,以前使用,不过有些金融单位还在使用

yaml处理

configparser

  标准配置文件配置模块,格式和windown ini文件一样

hashlib

  hash模块

subprocess

  

logging模块

  日志模块

re正则表达式

  

清除原臨時配置

猜你喜欢

转载自www.cnblogs.com/pynetwork/p/8989163.html