Python 中的模块和包,让你更好地组织代码 Python 是一种以简单、易读、易学为特点的高级编程语言,被广泛应用于机器学习、自然语言处理、Web 开发等领域。而在 Python 的开发过程中,模块和包是重要的组织代码的方式。 模块是一个包含 Python 代码的文件,它可以定义函数、类和变量。使用 import 语句即可将模块引入当前模块,从而访问模块中的变量和函数。下面是一个示例: ```python # demo_module.py def say_hello(): print("Hello, World!") num = 42 ``` ```python # main.py import demo_module demo_module.say_hello() print(demo_module.num) ``` 在 Python 中,每个模块都有自己的名称空间,这意味着在模块中定义的名称只能在该模块内部使用,不会与当前模块中的名称冲突。如果你想在模块中定义私有变量或函数,可以在其名称前加上一个下划线,表明这是一个私有的变量或函数。例如: ```python # demo_module.py def _private_func(): print("This is a private function.") public_variable = 42 ``` 包是一种包含模块的目录,它允许你将相关的模块组织起来。包可以嵌套,即包中可以包含其他的包。在包中可以定义 __init__.py 文件,它将被 Python 解释器视为包的初始化文件。在 __init__.py 文件中可以定义包的全局变量和函数。 下面是一个示例: ``` my_package/ __init__.py module1.py module2.py ``` ```python # my_package/__init__.py from .module1 import * from .module2 import * __version__ = "1.0" ``` ```python # my_package/module1.py def foo(): print("module1.foo") ``` ```python # my_package/module2.py def bar(): print("module2.bar") ``` 在使用包中的模块时,你只需要使用 import 包名.模块名 的方式即可。例如: ```python # main.py import my_package my_package.foo() my_package.bar() print(my_package.__version__) ``` 除了使用 import 包名.模块名 的方式外,还可以使用 from 包名 import 模块名,将模块中的函数或变量直接导入到当前名称空间中。例如: ```python # main.py from my_package import foo foo() ``` 在 Python 中,模块和包是组织代码的重要手段。通过合理地使用模块和包,可以有效地组织代码,提高代码的可读性和可维护性,让我们的 Python 代码更加优美和简洁。