news 2026/4/3 5:08:47

Python3模块入门:这样导入和使用,超简单!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python3模块入门:这样导入和使用,超简单!

目录

一、什么是模块

二、模块的四种导入方式

三、这些常用工具箱你一定会用到

四、两个超重要的知识点

简单示例:


一、什么是模块

想象一下,Python模块就像一个个装满工具的工具箱。Python自带了很多好用的工具箱(标准库),我们也可以自己制作或者下载别人的工具箱(第三方库)

二、模块的四种导入方式

四种方式,总有一款适合你的

第一种:整个工具箱搬过来

基本导入:import module_name

import math print(math.sqrt(25)) # 计算25的平方根

这样用的时候要带上工具箱的名字,比如math.sqrt

第二种:给工具箱起个小名

别名导入:import module_name as 别名

import datetime as dt now = dt.datetime.now() print(now)

长名字的工具箱可以起个简短好记的别名

第三种:只拿需要的工具

部分导入:from module_name import function, Class

from random import randint, choice print(randint(1, 10)) # 生成1-10的随机整数 fruits = ['苹果', '香蕉', '橙子'] print(choice(fruits)) # 随机选择一个

直接用工具名,不用写工具箱名了

第四种:不推荐的方式

全量导入:from module_name import *(不推荐)

from os import * # 不推荐这样做!

这样会把所有工具都倒出来,可能会和你自己的工具名字冲突


三、这些常用工具箱你一定会用到

常用的标准库(工具箱)

  • 系统操作ossys
  • 时间日期datetimetime
  • 数学计算mathrandom
  • 数据处理jsoncsv
  • 正则表达式re

处理文件和系统

import os # 检查文件是否存在 if os.path.exists('我的文件.txt'): print('文件存在')

处理JSON数据(和网页打交道常用)

import json data = {'name': '小明', 'age': 18} # 把字典变成字符串 json_str = json.dumps(data) print(json_str) # 把字符串变回字典 new_data = json.loads(json_str) print(new_data['name'])

处理时间

from datetime import datetime, timedelta # 当前时间 now = datetime.now() print(f'现在是:{now}') # 计算明天这个时候 tomorrow = now + timedelta(days=1) print(f'明天是:{tomorrow}') # 只要日期部分 print(f'今天日期:{now.date()}')

四、两个超重要的知识点

1. 模块搜索顺序

一个模块在一个文件内,只会被导入一次,不管你执行了多少次 import。这样可以防止导入模块被一遍又一遍地执行。


被导入时,Python找模块的时候会按顺序找这些地方:

  1. 当前文件夹
  2. 内置模块
  3. 环境变量PYTHONPATH指定的路径
  4. pip安装的第三方库位置

想看具体路径可以:

import sys print(sys.path)

2. 模块的两种身份

# 我的模块.py def say_hello(): print('你好!') if __name__ == '__main__': # 只有直接运行这个文件时才会执行 say_hello() print('我是主程序')

这个if __name__ == '__main__':太有用了!

  • 直接运行这个文件:会执行下面的代码
  • 被别人导入时:不会执行下面的代码

简单示例:

我们可以创建一个test_module.py文件,试试:

# 导入多个模块 import math import json from datetime import datetime # 使用数学模块 print(f'圆周率:{math.pi}') print(f'2的3次方:{math.pow(2, 3)}') # 使用时间模块 current_time = datetime.now() print(f'当前时间:{current_time.strftime("%Y-%m-%d %H:%M:%S")}') # 使用JSON模块 my_info = {'name': 'Python新手', 'skill': ['模块', '函数', '类']} json_data = json.dumps(my_info, ensure_ascii=False) print(f'JSON数据:{json_data}')

Python的标准库有200多个模块,涵盖了各种功能,遇到需求时,可以先看看标准库有没有现成的工具,这会让我们事半功倍。

关键要点总结

  1. 基本导入import module_name

  2. 别名导入import module_name as 别名

  3. 部分导入from module_name import function, Class

  4. 全量导入from module_name import *(不推荐)

  • 模块搜索路径:sys.path
  • if __name__ == "__main__":区分模块运行与导入
  • 使用pip或pip3安装第三方库
  • 标准库文档:官方文档或help(module)[需先引入module]

掌握这些核心语法即可开始使用Python模块啦~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/29 2:05:57

PyTorch-CUDA-v2.6镜像中使用Fairscale进行模型并行训练

PyTorch-CUDA-v2.6镜像中使用Fairscale进行模型并行训练 在现代深度学习实践中,一个再熟悉不过的场景是:你刚写完一个结构复杂的Transformer模型,信心满满地启动训练,结果几秒后显存直接爆掉——CUDA out of memory。更糟的是&…

作者头像 李华
网站建设 2026/3/30 12:14:21

一文说清Keil中文注释乱码的字符集处理机制

深入理解Keil中文注释乱码:字符编码的“隐形战场”你有没有遇到过这样的场景?刚从同事那里拉下一份STM32驱动代码,满怀期待地在Keil里打开,结果满屏都是:// ģʼUART // ʹĬ一脸懵——这哪是注释,简直是加…

作者头像 李华
网站建设 2026/3/31 13:55:08

AD20输出Gerber文件设置:Altium Designer教程小白指南

AD20输出Gerber文件设置:从零开始的PCB打样实战指南 你是不是也经历过这样的时刻? 辛辛苦苦画完一块PCB,走线漂亮、电源干净、信号完整,DRC也全绿了——信心满满准备打样,结果工厂回你一句:“ 缺阻焊层 …

作者头像 李华
网站建设 2026/4/1 21:05:03

Allegro导出Gerber文件在电机控制器中的应用

从设计到制造:如何用Allegro精准导出电机控制器的Gerber文件在高性能电机控制系统中,PCB不仅是电路的载体,更是决定系统可靠性、散热效率和电磁兼容性的关键一环。而当我们完成了一块复杂的6层甚至8层板布局布线后,真正考验设计完…

作者头像 李华
网站建设 2026/3/27 21:47:02

下车乘客的规律 分析和挖掘

目录 一、模型的核心思想 二、具体操作步骤 三、典型应用场景 简单实例 总结 一、模型的核心思想 简单来说,这个模型基于一个假设:一个站点下车乘客的规律(比例)在相似的条件下(如工作日、天气、时段&#xff09…

作者头像 李华
网站建设 2026/3/30 22:37:17

ES6模块化从零实现:模拟一个简易模块加载器

从零实现一个 ES6 模块加载器:深入理解模块化的底层运行机制你有没有想过,当你写下import { add } from ./math.js的时候,JavaScript 引擎到底做了什么?模块文件是如何被读取的?依赖关系是怎么解析的?为什么…

作者头像 李华