深入理解python中-kb88凯时官网登录

来自:网络
时间:2023-09-07
阅读:
免费资源网 - https://freexyz.cn/
目录

1. 简介

1.1 模块(module)和包(package)的概念

模块是程序,任何python程序都可以作为模块导入。写在脚本.py文件中的函数,比如xx.py,可以在另一个模块或者脚本中通过import xx进行导入。如果要导入xx.py中的函数yy,就写成from xx import yy。可见模块可以简单的理解为一个.py文件。

包就是模块所在的目录。和文件夹不同的是,包的根目录下存在__init__.py。一个文件夹根目录下存在__init__.py那就会认为该文件夹是python包,否则那这个文件夹就是一个普通的文件夹。

1.2 __init__.py文件简介

__init__.py文件的作用是将文件夹变为一个python的包,python中每个包中,都有__init__.py文件。通常__init__.py文件为空,但是我们还可以为它增加其他的功能。我们在导入一个包时,实际上是导入了它的__init__.py文件。这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入。

2. __init__.py内容写法

2.1 __init__.py文件内容

以pysolid代码为例。pysolid包的目录结构如下:

.
├── grid.py
├── point.py
└── __init__.py

__init__.py内容:

# top-level functions
from pysolid.grid import (
    calc_solid_earth_tides_grid,
    plot_solid_earth_tides_grid,
)
from pysolid.point import (
    tides,
    calc_solid_earth_tides_point,
    plot_solid_earth_tides_point,
    plot_power_spectral_density4tides,
)
__all__ = [
    '__version__',
    'calc_solid_earth_tides_grid',
    'plot_solid_earth_tides_grid',
    'tides',
    'calc_solid_earth_tides_point',
    'plot_solid_earth_tides_point',
    'plot_power_spectral_density4tides',
]

2.2 __init__.py内容解释

从grid.py中导入两个函数:

 calc_solid_earth_tides_grid
 plot_solid_earth_tides_grid

从point.py中导入四个函数:

tides,
calc_solid_earth_tides_point
plot_solid_earth_tides_point
plot_power_spectral_density4tides

__init__.py中通过定义__all__变量来控制外部调用者能够调用的范围,除了以下列表中的函数,其它函数都无法被使用,类似于私有函数或变量。

__all__ = [
    '__version__',
    'calc_solid_earth_tides_grid',
    'plot_solid_earth_tides_grid',
    'tides',
    'calc_solid_earth_tides_point',
    'plot_solid_earth_tides_point',
    'plot_power_spectral_density4tides',
]
免费资源网 - https://freexyz.cn/
返回顶部
顶部
网站地图