【python基础】十五、Python 模块

标准库

标准库说明
builtins内建函数
math数学库
random随机数
time时间
datetime时间和日期
calendar日历
hashlib加密算法
copy拷贝
functools常用工具
os操作系统接口
re正则
sys自身运行环境
multiprocessing多进程
threading多线程
json编码解码 json对象
logging记录日志

自定义模块

# 变量
# 函数
# 类
  • 导入模块

    import 模块名
    模块名.方法
    模块名.变量
    模块名.类

    from 模块名 import 一部分(类\变量\模块)

    from 模块名 import *

    取到 模块内 all = [’’,’’,’’] 内限制的内容, 仅对 import * 起作用

模块内不希望被调用的部分

__name__ 表示 正在执行的名字

if __name__ == '__main__':
    # 只有执行本模块时,__name__ = __main__
    # 被调用时,__name__ = 模块名
    pass

不同模块 同名函数

  • 包 和 文件夹 的区别
    • 文件夹 非py文件,放jpg txt html 等
    • 包 放py文件 __init__
      • 不同包内 放同名文件 不冲突
      • 一个包内 可以放多个模块

project > package > models > class func 变量

  • 使用包package中的模块

      import package_name import models
      或
      import package.models import func
    
  • 同一个包内 互相导入

      import package.models import *
      或
      import .models import *
    
  • 包内 __init__.py 作用

    • 导入包的时候,默认执行__init__.py文件

    • 包内的内容 可以通过包名调用

    • __init_.py 可以加入__all_ 暴露模块名

         from package import *
      
    • 没有的__all__的话,无法使用

循环导入

# file: A.py
import B
    def A():
        B.B()
# file: B.py     
import A
    def B():
        A.A()
  • 会报错,这是一种错误方式,架构不当

A模块调用 B模块
B模块调用 A模块

  • 避免产生循环导入
    1. 重新架构
    2. 挪动import的位置

在b站学习中

个人主页

学习链接

欢迎 批评 指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值