Python Learning, Day5

1. 模块简介

1.1. 定义

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

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

 

1.2. 导入方法

 

#导入方法:

#一般推荐用这种
import module_alex, module2_alex  #调用
module_alex.logger()

#不提倡(容易重复)(不过要是多次用一个函数,用这个方法会节省大量时间,单用import每次都得找)
from module_alex import * #相当于把代码全复制到这
from module_alex import m1, m2, m3
from module_alex import logger as logger_alex    #只导一个方法,起别名
logger()

 

1.3. import本质(路径搜索和搜索路径)

导入模块:

  • import:解释一遍,再封装起来,命名为module_alex:模块名(module_alex)加点调用
  • from import导入:拿到当前位置执行一遍,使用时直接用名字即可

导入的本质:

  • 导入模块的本质:把python文件解释一遍
  • 导入包的本质:解释包下面的__init__.py文件

导入某个包下的模块:

修改__init__.py文件,用相对导入

#导入不在本目录下的模块

import sys, os
#定义上上级目录
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)  #加到搜索的第一个位置
print(sys.path)

#备注如下:
#__file__:当前文件的相对路径
#os.path.abspath(__file__):当前文件的绝对路径
#os.path.dirname(path)  #去掉文件名,返回当前文件的目录 

 

#导入包里面的模块:

#包里面的__init__.py文件
from . import module   #module:包里面的一个模块

#执行文件(想调用Package包下的module模块中的Add函数)
import Package    #1. 执行__init__.py文件, 把module所有方法复制给module
Package.module.Add(2,3)

 

#导入其他目录下的包模块
import os, sys
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)

from Day6 import Package
Package.module.Add(2,3)

 

 

1.4. 导入优化

#虽然不建议用,但多次调用的话,这个方法很快
from module_alex import m1, m2, m3

 

1.5.模块的分类

模块分为三大类:

  • 1. 标注库(内置模块)
  • 2.  开源模块(第三方模块)
  • 3. 自定义模块

 

2. 常用内置模块学习

2.1 time & datetime模块

#时间模块最基础内容
import time

#获取当前时间
Data = time.time()  #时间戳方式:1970 unix诞生,记录从这一年开始的描述
Data = time.localtime()   #元组方式:返回本地时间 的struct time对象格式

#停止2秒
time.sleep(2)  


#取出年
Data = time.localtime() 
print(Data.tm_year)

 

2.2 random模块

#random模块
import random

print (random.random())  #随机[0, 1)
print (random.randint(1,4)) #随机整数[1,4]
print(random.randrange(1,4)) #顾头不顾尾,[1, 4)

 

2.3 OS模块

提供对操作系统进行调用的接口

#OS模块

import os
os.path.abspath(path) #返回path规范化的绝对路径
os.remove()  #删除一个文件

 

2.4 sys模块

 

#sys模块

sys.path           #返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

 

2.5 shutil模块

copy文件用的,以及压缩包

 

2.6 json&pickle模块

用于序列化的两个模块

python中的字典、列表如何写到文件里(只能bytes类型或者字符串),用json转换

  • json:用于字符串和python数据类型间的转换
  • pickle:用于python特有的类型 和 python的数据类型间进行转换,支持python所有:函数、类

Json模块提供了四个功能:dumps、dump、loads、load

老老实实dump一次,load一次

 

2.7 shelve模块

 

2.8 xml处理模块

 

2.9 PyYAML模块

 

2.10 ConfigParser模块

 

2.11 Subprocess模块

 

2.12 logging模块

 

2.13 re模块

正则表达式:模糊查找(姓陈的,名字不超过2个字的)

 

转载于:https://www.cnblogs.com/zhuyijunn/p/9877386.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值