Python模块——标准库\开源模块\自定义模块

本文介绍了Python中的模块概念,包括模块的定义、导入方法、import的本质以及模块的分类,如标准库(如time、datetime、random等)、开源模块和自定义模块。详细讨论了时间模块、序列化与反序列化(json和pickle模块)、正则表达式(re模块)等,并探讨了模块导入的优化和使用技巧。

一、定义

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

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

二、导入方法

        import module_name

        import module1_name,module2_name

        from module import *(不建议使用)

        from module import 方法名 as 别名

三、import本质(路径搜索和搜索路径)

        import 模块名

        第一种直接import 模块名的,当需要使用模块里的类、函数、变量等时,需要模块名字+类/函数/变量,表示你要使用这个模块下的类、函数、变量等,需要指定一下。实际上这种方式相当于把  “模块名.py”  这个文件中的所有类、函数、常量、变量全都解释一遍赋值给  “模块名”。

        from 模块名 import xxx (xxx可以是类,函数,常量等等)

        第二种from 模块名 import xxx,这种直接使用模块下的某一个类,这样一次只能导入一个特定的类/函数/变量等,如果还想使用这个模块下的其他类,就得继续这样导入。实际上这种方式相当于直接把 “xxx” 这部分代码拿到当前文件下执行。

        导入模块的本质就是把python文件解释一遍,导入包的本质就是执行该包下的__init__.py文件。

四、导入优化

import 模块名
def test1():
    模块名.方法名() //第一次调用
    print("in the test1")

def test2():
    模块名.方法名() //第二次调用
    print("in the test2")

//上述两段函数重复调用同一个方法,效率降低,如何优化?
from 模块名 import 方法名
def test1():
    方法名() 
    print("in the test1")

def test2():
    方法名() 
    print("in the test2")

五、模块的分类

       1.标准库

       a、time & datetime 模块

       时间相关的操作,时间有三种表示方式:

       ①时间戳               1970年1月1日之后的秒,即:time.time()

       ②格式化的字符串    2019-11-11 11:11,    即:time.strftime('%Y-%m-%d')

       ③结构化时间          元组包含了:年、日、星期等... time.struct_time    即:time.localtime()

       b、random 模块

import random
print(random.random()) #[
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值