python中如何建立一个自己的包

本文介绍Python中模块和包的概念,展示了如何构建一个名为ansemb的工具包,并解释了__init__.py的作用及其如何限制从包中导入特定模块。

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

一些概念

  • 模块:我们写的每个py都是一个模块
  • 包:模块的集合,就是一个包,通常包和directory的区别在于是否有__init__.py
  • init.py: 它可以空着,标识该目录为包;也可以写一些方法和变量(不建议写);还可以用__all__=[""]来限制 from xxx import * 引入哪些模块

如何建立(示例)

目标: 我们要建立ansemb包,作为一个工具包,供其他py依赖,是以下的结构

  • 其中test要引入同目录下的test2
  • 其中dataset中不能暴露test2
	|--try
		|--ansemb
			|--dataset
				|--test.py
				|--test2.py
				|--__init__.py
			|--config.py
			|--__init__.py

  • 首先,我们建立 文件夹ansemb;创建config.py;创建空的__init__.py
  • 然后,就创建 文件夹dataset;创建test2.py;创建__init__.py,在其中键入__all__=["test"],进行约束
  • 之后来实现test引入test2,这里使用相对路径进行引入
    在这里插入图片描述

关联

  1. python中同包、不同包引用总结;no module、no known parent package等报错信息解决
  2. 运行没有问题,pycharm却标红引用?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值