python:模块与包

模块是组织代码的重要方式。

模块(Module)

一个模块就是一个包含 Python 定义和语句的文件,其后缀通常为 `.py`。一个模块可以定义函数变量等,并且可以在其他模块中被导入和使用。

创建模块

假设你有一个名为 `mymodule.py` 的文件,其中包含一些函数定义:

# mymodule.py
def greet(name):
    return f"Hello, {name}!"

def add(x, y):
    return x + y

导入模块

要在另一个Python文件中使用这个模块,你可以使用 `import` 语句:

import mymodule

print(mymodule.greet("Alice"))
print(mymodule.add(5, 3))

其他导入方式

- 别名:

import mymodule as mm
print(mm.greet("Alice"))

- 导入特定成员:

from mymodule import greet, add
print(greet("Alice"))
print(add(5, 3))

- 导入所有成员 (不推荐,因为可能会污染命名空间):

from mymodule import *
print(greet("Alice"))
print(add(5, 3))

包(Package)

包是包含多个模块的一个目录。通过使用包,我们可以将相关的模块组织在一起,并避免命名冲突。一个包也是一个特殊的模块,它必须包含一个 `__init__.py` 文件(即使该文件为空)来告诉 Python 这个目录应该被视为一个包。

创建包

假设你有以下目录结构:

mypackage/
    __init__.py
    module1.py
    module2.py

其中 `module1.py` 和 `module2.py` 是两个模块文件。

使用包中的模块

你可以像这样从包中导入模块:

from mypackage import module1
print(module1.some_function())

或者使用相对导入(在包内部):

# module1.py
from .module2 import some_other_function
print(some_other_function())

示例创建文件夹结构(更一般的则是直接手动设置-window)

mkdir mypackage
touch mypackage/__init__.py
echo "def hello_world(): print('Hello, world!')" > mypackage/module1.py
echo "def add(a, b): return a + b" > mypackage/module2.py

使用包中的模块

# main.py
from mypackage.module1 import hello_world
from mypackage.module2 import add

hello_world()
print(add(10, 5))
  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值