简介
Python 模块是由 Python 代码组成的
一些模块可以通过 Python 标准库获得,因此它们会随着 Python 的安装而安装。其他模块可以通过 Python 的包管理器
本教程将指导你编写 Python 模块,以便在其他编程文件中使用。
先决条件
你应该已经安装了 Python 3,并在计算机或服务器上设置了编程环境。如果你还没有设置编程环境,你可以参考本地编程环境或服务器编程环境的安装和设置指南,这些指南适用于你的操作系统(Ubuntu、CentOS、Debian 等)。
编写和导入模块
编写模块就像编写任何其他 Python 文件一样。模块可以包含函数、类和变量的定义,然后可以在其他 Python 程序中使用。
从我们的 Python 3 本地编程环境或基于服务器的编程环境开始,让我们首先创建一个名为
首先,我们将创建一个打印
# 定义一个函数 def world(): print("Hello, World!")
如果我们在命令行中使用
让我们在相同的目录中创建一个名为
# 导入 hello 模块 import hello # 调用函数 hello.world()
因为我们正在导入一个模块,所以我们需要通过点符号引用模块名称来调用函数。
我们也可以使用
现在,我们可以在命令行中运行程序:
python main_program.py
当我们运行程序时,我们将收到以下输出:
Hello, World!
为了演示如何在模块中使用变量,让我们在
# 定义一个函数 def world(): print("Hello, World!") # 定义一个变量 shark = "Sammy"
接下来,我们将在我们的
# 导入 hello 模块 import hello # 调用函数 hello.world() # 打印变量 print(hello.shark)
再次运行程序后,我们将收到以下输出:
Hello, World! Sammy
最后,让我们在
# 定义一个函数 def world(): print("Hello, World!") # 定义一个变量 shark = "Sammy" # 定义一个类 class Octopus: def __init__(self, name, color): self.color = color self.name = name def tell_me_about_the_octopus(self): print("This octopus is " + self.color + ".") print(self.name + " is the octopus's name.")
现在,我们将在
# 导入 hello 模块 import hello # 调用函数 hello.world() # 打印变量 print(hello.shark) # 调用类 jesse = hello.Octopus("Jesse", "orange") jesse.tell_me_about_the_octopus()
一旦我们使用
当我们运行程序时,我们将收到以下输出:
Hello, World! Sammy This octopus is orange. Jesse is the octopus's name.
重要的是要记住,尽管模块通常是定义,但它们也可以实现代码。为了演示这一点,让我们重写我们的
# 定义一个函数 def world(): print("Hello, World!") # 在模块内调用函数 world()
我们还删除了文件中的其他定义。
现在,在我们的
# 导入 hello 模块 import hello
当我们运行
Hello, World!
这是因为
模块是由定义或代码组成的 Python 程序文件,你可以在其他 Python 程序文件中使用它们。
从另一个目录访问模块
模块可能对多个编程项目有用,在这种情况下,将模块保留在与特定项目相关联的特定目录中就没有太多意义。
如果你想从与主程序不同的位置使用 Python 模块,你有几个选项。
添加路径
一种选择是通过使用使用该模块的编程文件来调用模块的路径。这应该被视为一种在开发过程中可以执行的临时解决方案,因为它不会使模块在整个系统范围内可用。
要将模块的路径附加到另一个编程文件中,你将首先在主程序文件中导入
例如,假设我们将
import sys sys.path.append('/usr/sammy/') import hello ...
只要你正确设置了
将模块添加到 Python 路径
你的第二个选择是将模块添加到 Python 用于检查模块和包的路径。这是一个更加永久的解决方案,使得模块在整个环境范围或系统范围内可用,使这种方法更具可移植性。
要找出 Python 检查的路径,从你的编程环境中运行 Python 解释器:
python3
接下来,导入
>>)">import sys
然后让 Python 打印系统路径:
>>)">print(sys.path)
在这里,你将收到至少一个系统路径的一些输出。如果你在编程环境中,你可能会收到几个。你需要寻找当前使用的环境中的路径,但你可能还想将模块添加到你的主系统 Python 路径中。你要寻找的内容类似于:
'/usr/<^>sammy<^>/<^>my_env<^>/lib/python3.5/site-packages'
现在,你可以将
import hello ...
当你运行程序时,它应该可以顺利完成。
修改模块的路径可以确保你可以访问模块,而不管你在哪个目录中。这在特别是当你有多个项目引用特定模块时非常有用。
结论
编写 Python 模块与编写任何其他 Python