包管理

本文详细介绍了Python中模块和包的导入方式,包括直接导入、选择性导入及导入所有内容的方法。同时,探讨了模块搜索路径的设置,以及如何通过__all__属性控制从包中导入的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模块

模块直接导入

import p01
p01.Student("xiaoxiong",19)
p01.say()

假如模块名称直接以数字开头,需要借助importlib帮助

import importlib
p01=importlib.import_module("01")
#接下来就用p01表示01,已经导入了
p01.say()

导入的同时给模块起一个别名

import p01 as p02
p02.say()

选择性的导入,不需要前缀

from p01 import Student, sayHello
stu = Student()
stu.say()
sayHello()

导入模块所有内容

from p01 import *

在p01代码中加入,可以有效避免模块代码被导入的时候被动执行的问题

if __name__='__main__':
    print("输出你好")

模块的搜索路径和存储

import sys
#查看
sys.path
#添加
sys.path.append("c:\\")

  • 包是一种组织管理代码的方式,包里面存放的是模块- 用于将模块包含在一起的文件夹就是包
  • 自定义包的结构
    在这里插入图片描述
#导入整个包
import pkg01
pkg01.inInit()

#导入包中某个模块
import pkg01.p01
sayHello()

#导入包中所有模块
from pkg01 import *
inInit()

__all__ 的用法
- 在使用from package import * 的时候, * 可以导入的内容
- __init__.py中如果文件为空, 或者没有 __all__, 那么只可以把__init__中的内容导入
- __init__ 如果设置了__all__的值,那么则按照__all__ 指定的子包或者模块进行加载
如此则不会载入__init__中的内容
- __all__=['module1', 'module2', 'package1'.........]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值