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

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


http://www.kler.cn/a/546252.html

相关文章:

  • 力扣hot100第三天
  • css: 针对属性left/right/top/bottom为啥设置transition动画不起作用
  • 企业文件共享中的权限管理与安全风险防范
  • 渗透利器:Burp Suite 联动 XRAY 图形化工具.(主动扫描+被动扫描)
  • 常用架构图:业务架构、产品架构、系统架构、数据架构、技术架构、应用架构、功能架构及信息架构
  • 使用Redis实现分布式锁,基于原本单体系统进行业务改造
  • 机器学习入门-读书摘要
  • Webpack和Vite插件的开发与使用
  • 二、OpenSM排障----实战生产
  • ADC入门准备(十):信号与系统知识回顾
  • Linux Mem -- Where the mte store and check in the real hardware platform
  • 如何下载AndroidStudio的依赖的 jar,arr文件到本地
  • JVM类加载和垃圾回收(详细)
  • 【RAG落地利器】Weaviate、Milvus、Qdrant 和 Chroma 向量数据库对比
  • 群体智能优化:粒子群算法(PSO)详解与实战
  • 如何在微信小程序中添加动画效果
  • Python爬虫实战:利用代理IP获取招聘网站信息
  • Vue 2 路由指南:从基础到高级
  • 机器学习 - 线性模型
  • 在springboot加vue项目中加入图形验证码