当前位置: 首页 > news >正文

python导入模块的方式

 在python开发中,巧用模块导入可简化开发,提高开发效率。下面简介下模块使用使用事项:

一、模块的使用:

  • 模块 就好⽐是 ⼯具包,要想使⽤这个⼯具包中的⼯具,就需要 使用import导⼊ 这个模块
  • 每⼀个以扩展名 py 结尾的 Python 源代码⽂件都是⼀个 模块
  •  在模块中定义的 全局变量 、 函数 都是模块能够提供给外界直接使⽤的⼯具。

二、模块命名注意事项:

  •  标⽰符可以由 字⺟、下划线 和 数字 组成
  •  不能以数字开头
  •  不能与关键字重名
  • 模块要导入其他模块,则模块名不能与要导入的模块重名,如模块中要导入random模块,那么模块名就不能起random.

三、模块导入的方式:

1. 基本导入

  • 导入整个模块,使用时需通过模块名访问其内容。

  • 示例:

import math
print(math.sqrt(16))  # 输出: 4.0

 2. 导入特定内容

from 接模块名,import接模块中函数名,全局变量名...

from module_name import name1, name2, ...
  • 从模块中导入指定的函数、类或变量,使用时无需写模块名前缀。

  • 示例:

from math import sqrt
print(sqrt(16))  # 输出: 4.0

3. 导入所有内容

from module_name import *
  • 导入模块中的所有内容,使用时无需模块名前缀。

  • 示例:

from math import *
print(sqrt(16))  # 输出: 4.0
  • 注意:不推荐使用,可能导致命名冲突。

4. 为模块指定别名导入

import module_name as alias
  • 为模块设置别名,简化代码。

  • 示例:

import numpy as np
print(np.array([1, 2, 3]))  # 输出: [1 2 3]

5. 导入特定内容并设置别名

from module_name import name as alias
  • 为导入的特定内容设置别名。

  • 示例:

from math import sqrt as sq
print(sq(16))  # 输出: 4.0

6. 相对导入(在包内使用)

from . import module_name
from .. import module_name
  • 在包内使用相对路径导入模块。

  • 示例:

from .submodule import function_name

7. 动态导入

  • 动态导入模块,适用于模块名在运行时确定的情况。

  • 示例:

module_name = 'math'
module = __import__(module_name)
print(module.sqrt(16))  # 输出: 4.0

8. 使用 importlib 动态导入

import importlib
module = importlib.import_module('module_name')
  • 通过 importlib 动态导入模块。

  • 示例:

import importlib
module_name = 'math'
module = importlib.import_module(module_name)
print(module.sqrt(16))  # 输出: 4.0

相关文章:

  • 团结引擎 OpenHarmony 平台全面支持 UAAL,实现引擎能力嵌入原生应用
  • 把 DeepSeek1.5b 部署在显卡小于4G的电脑上
  • Rocky Linux 9.4 安装 VirtualBox 7.1
  • 《探秘小批量梯度下降:批量大小如何左右算法性能》
  • AI全栈开发_人工智能AI大模型 Prompt提示词工程详解(全方位介绍及运用)
  • 应急响应(linux 篇,以centos 7为例)
  • 秘密信息嵌入到RGB通道的方式:分段嵌or完整嵌入各通道
  • uniapp语音时的动态音波的实现
  • 木材表面缺陷检测数据集,支持YOLO+COCO JSON+PASICAL VOC XML+DARKNET格式标注信息,平均正确识别率95.0%
  • Linux 服务器部署deepseek
  • 多媒体术语扫盲备忘录
  • SAP-ABAP:SAP的Screen Layout Designer屏幕布局设计器详解及示例
  • c#中“事件-event”的经典示例与理解
  • nsc account 及user管理
  • .NET 9.0 的 Blazor Web App 项目,进度条 <progress> 组件使用注意事项
  • DeepSeek全生态接入指南:官方通道+三大云平台
  • 论文笔记:Multi-Head Mixture-of-Experts
  • Flutter 双屏双引擎通信插件加入 GitCode:解锁双屏开发新潜能
  • 麒麟操作系统-rabbitmq二进制安装
  • React 高级教程
  • 关于新冠疫情防控与病毒溯源的中方行动和立场
  • 海尔智家一季度营收791亿元:净利润增长15%,海外市场收入增超12%
  • 青海省林业和草原局副局长旦增主动投案,正接受审查调查
  • 广西干旱程度有所缓解,未来一周旱情偏重地区降水量仍不足
  • 春暖花开,为何皮肤却闹起了小情绪?
  • 脱发后怎么把头发养回来?脱发自救指南来了