python中多重目录中的包引用怎么样?

Python014

python中多重目录中的包引用怎么样?,第1张

从物理上看,包就是一个文件夹,在该文件夹下包含了一个 __init__.py 文件,该文件夹可用于包含多个模块源文件;从逻辑上看,包的本质依然是模块。

根据上面介绍可以得到一个推论,包的作用是包含多个模块,但包的本质依然是模块,因此包也可用于包含包。典型地,当我们为 Python 安装了 numpy 模块之后,可以在 Python 安装目录的 Lib\site-packages 目录下找到一个 numpy 文件夹,它就是前面安装的 numpy 模块(其实是一个包)。

掌握了包是什么之后,接下来学习如何定义包。定义包更简单,主要有两步:

创建一个文件夹,该文件夹的名字就是该包的包名。

在该文件夹内添加一个 __init__.py 文件即可。

从物理上看,包就是一个文件夹,在该文件夹下包含了一个 __init__.py 文件,该文件夹可用于包含多个模块源文件;从逻辑上看,包的本质依然是模块。

根据上面介绍可以得到一个推论,包的作用是包含多个模块,但包的本质依然是模块,因此包也可用于包含包。典型地,当我们为 Python 安装了 numpy 模块之后,可以在 Python 安装目录的 Lib\site-packages 目录下找到一个 numpy 文件夹,它就是前面安装的 numpy 模块(其实是一个包)。

看你用哪种方式

如果是import 包名,就是包名.函数名方式调用

如果是from 包名 import 函数名、from 包名 import *,就是直接函数名就可以调用

用 from import 啊,例如:

有一个模块 a.py ,在a.py中有一个names 的类

# a.py

class names(object):

    def __init__(self):

        self.name = "zhangsan"

        

# b.py 在b.py中实例化a.py中的 names 类

from a import names

names()   # 直接调用就好了

# 或者使用  import a

a.names()   # 这样调用