当前位置:首页>python>Python零基础入门(五):模块与包导入

Python零基础入门(五):模块与包导入

  • 2026-09-06 16:44:04
Python零基础入门(五):模块与包导入

Python零基础入门(五):模块与包导入

我见过一个Python项目,所有代码塞在一个文件里,3000多行。

找个函数要滚动5分钟,改一行代码冒出来3个bug。

后来学会了模块,代码拆成十几个文件,每个文件200行,世界清净了。

一、模块就是.py文件

# calculator.pydef add(a, b):    return a + bdef subtract(a, b):    return a - b

在另一个文件里用:

# main.pyimport calculatorprint(calculator.add(10, 5))  # 15

就这么简单。一个.py文件就是一个模块。

二、四种导入方式

1. 标准导入

import mathprint(math.sqrt(16))  # 4.0

2. 起别名

import numpy as npimport pandas as pd

社区约定俗成,跟着写就行。

3. 按需导入

from math import sqrt, piprint(sqrt(25))  # 5.0

不用写math.前缀,更简洁。

4. 全量导入(别用)

from math import *  # 不推荐!

把math里所有东西都导入,容易命名冲突。

三、__name__的魔法

# greet.pydef hello(name):    return f"你好,{name}!"if __name__ == "__main__":    print(hello("世界"))

规则:

  • • 直接运行:__name__等于"__main__"
  • • 被导入:__name__等于模块名"greet"

作用:只有直接运行时才执行测试代码,被导入时跳过。

四、包:模块的文件夹

my_project/├── main.py└── mathlib/          # 这是一个包    ├── __init__.py   # 标识这是包    ├── basic.py    └── advanced.py

导入包里的模块:

from mathlib import basicprint(basic.add(1, 2))

或者:

from mathlib.basic import addprint(add(1, 2))

五、常用标准库

模块
用途
一句话
os
系统操作
文件路径、环境变量
math
数学计算
sqrt、pi、pow
random
随机数
randint、choice
datetime
时间日期
now、strftime
json
JSON处理
loads、dumps
import jsonfrom datetime import datetimedata = {    "name": "小明",    "time": datetime.now().isoformat()}print(json.dumps(data, ensure_ascii=False))

六、pip安装第三方包

# 安装pip install requests# 查看已安装pip list# 导出依赖pip freeze > requirements.txt# 批量安装pip install -r requirements.txt

新手必装:

  • • requests:HTTP请求
  • • pandas:数据处理
  • • pillow:图片处理

下一篇预告:异常处理——让程序优雅地处理错误。

最新文章

随机文章