Python-包

本文详细介绍了Python包的使用,包括包的导入原则和方式,如import与from...import的区别,绝对导入与相对导入的实践,以及如何解决包的路径问题。同时,讲解了如何在PyCharm中配置自定义包,以及包的安装与发布的步骤。
摘要由CSDN通过智能技术生成

目录

一、包   package

二、包的导入

1.导入原则

2.导入方式

(1)import 包名.模块名

(2)from 包名.模块名.....   import 变量名或者函数名

(3)from 包名.模块名... import 变量名1,变量名2........

(4)from 包名.模块名.... import  模块名

(5)from 包名.模块名 import *

三、包的绝对导入和相对导入

(同级目录下的包与包之间的相互调用)

1.绝对导入

2.相对导入

(1)在demo04的dmeo04_test01中导入demo03的demo03_test01()

(2)在根目录下的demo02_包.py下执行:

四、import 导入自定义包的子模块

(包下的模块相互调用)

1.在子包调用的时候不能直接用import,

当脚本运行的时候,可以正常执行,但是在别的地方运行,路径会发生变化,运行就可能出错

2.解决方法:

(1)pycharm本身

(2)手动添加路径

五、import 包名

1.只导入到包名,不能调用包下的所有模块

2.要想调用包下的所有模块,在包下的__init__.py文件中写:

六、包的安装与发布

1.在包的统计目录下创建setup.py

2.在命令行中写:python3 setup.py build      build

3.在命令行中写:pytohn3 setup.py sdist       dist   把刚才的东西打成一个压缩包

4.把压缩包解压,找到setup.py的路径,复制下来

5.cd..   进入上级目录

  cd..    (setup.py的路径)    pyhhon3 setup.py install

6.在任意一个模块中测试该包是否能被导入:


一、包   package

文件夹,包含一个__init__.py文件的文件夹


二、包的导入

1.导入原则

凡是在导入时带点的,点的左边就是一个包

2.导入方式

import....方式 import 包名.模块名  
form .....import  ..方式 from 包名.模块名.....   import 变量名或者函数名 from后import 引入的模块,必须明确的一个不能带点,否则会有语法错误
from 包名.模块名... import 变量名1,变量名2........

from 包名.模块名.... import  模块名

from 包名.模块名 import * 不能导入模块中的所有东西,只能导入__init__.py的东西

在demo01下的demo01_test02导入demo01_test01,并调用demo01_test01中的函数与变量

(1)import 包名.模块名

# import 包名.模块名
import python1224.demo01.demo01_test01

# 调用方式:模块名.变量名或函数
python1224.demo01.demo01_test01.test001()
python1224.demo01.demo01_test01.test01()

(2)from 包名.模块名.....   import 变量名或者函数名

# from 包名.模块名....  import  变量名或函数名
from python1224.demo01.demo01_test01 import test01

test01()
from python1224.demo01.demo01_test01 import test001

test001()

(3)from 包名.模块名... import 变量名1,变量名2........

# from 包名.模块名.....  import 变量名,函数名
from python1224.demo01.demo01_test01 import test01, test001

test01()
test001()

(4)from 包名.模块名.... import  模块名

# from 包名.模块名.... import 模块名
from python1224.demo01 import demo01_test01

# 调用方式:模块名.变量名或函数名
demo01_test01.test01()
demo01_test01.test001()

(5)from 包名.模块名 import *

  • 要想调用demo02里面的所有模块,必须在demo02下的__init__.py中定义名字,在__init__.py中写入__all__

  • 在根目录下的其他模块导入时就没有问题了


三、包的绝对导入和相对导入

(同级目录下的包与包之间的相互调用)

1.绝对导入

以根目录为起点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值