在 Python 中,模块是一个包含 Python 代码的文件。模块可以定义函数、类和变量,甚至可以包含可执行代码。使用模块有助于组织代码、提高可维护性和重用性。以下是关于如何创建、导入和使用模块的详细指南。
创建模块非常简单,只需编写一个 Python 文件即可。假设我们创建一个名为 mymodule.py 的模块:
mymodule.py
# mymodule.py def greet(name): return f"Hello, {name}!" def add(a, b): return a + b class MyClass: def __init__(self, value): self.value = value def display(self): print(f"Value: {self.value}")
要使用上述模块中的函数、类或变量,可以在另一个 Python 脚本中导入该模块。有多种导入方式:
import mymodule print(mymodule.greet("Alice")) print(mymodule.add(5, 3)) obj = mymodule.MyClass(10) obj.display()
from mymodule import greet, add, MyClass print(greet("Bob")) print(add(10, 20)) obj = MyClass(20) obj.display()
import mymodule as mm print(mm.greet("Charlie")) print(mm.add(15, 5)) obj = mm.MyClass(30) obj.display()
导入模块后,就可以使用模块中的函数、类和变量。以下是一些示例:
import mymodule result = mymodule.add(4, 7) print(f"4 + 7 = {result}")
from mymodule import MyClass obj = MyClass(42) obj.display()
Python 提供了丰富的标准库模块,可以直接导入并使用。例如,使用 math 模块:
math
import math print(math.sqrt(16)) # 输出 4.0 print(math.pi) # 输出 3.141592653589793
包是包含多个模块的目录。包中必须包含一个 __init__.py 文件(即使是空文件),以告诉 Python 这个目录是一个包。以下是创建包的示例结构:
__init__.py
mypackage/ __init__.py module1.py module2.py
from mypackage import module1, module2 result = module1.some_function() module2.some_other_function()
或者:
from mypackage.module1 import some_function from mypackage.module2 import some_other_function result = some_function() some_other_function()
假设 mypackage/module1.py 内容如下:
mypackage/module1.py
# mypackage/module1.py def some_function(): print("This is some function in module1.")
mypackage/module2.py 内容如下:
mypackage/module2.py
# mypackage/module2.py def some_other_function(): print("This is some other function in module2.")
你可以创建一个脚本 test.py 来测试:
test.py
from mypackage.module1 import some_function from mypackage.module2 import some_other_function some_function() some_other_function()
运行 test.py 会输出:
This is some function in module1. This is some other function in module2.
以上就是在 Python 中创建、导入和使用模块的基本方法。通过模块和包的使用,可以使你的代码更清晰、更易维护。
原文链接:codingdict.net