python 关键字(import)

ops/2024/12/22 16:32:40/

4、import

在Python编程中,import 是一个至关重要的关键字,它用于导入其他Python模块或库中的代码,以便在当前程序中使用。无论是Python新手还是经验丰富的开发者,都需要对import有深入的理解。

  1. 基础知识:import 的基本用法

导入整个模块

使用import关键字可以导入一个完整的模块。例如,要导入Python内置的math模块,你可以这样做:

python">import math# 使用模块中的函数
print(math.sqrt(16))  # 输出 4.0

导入模块并为其指定别名

如果模块名很长或者可能与你的代码中的其他名字冲突,你可以使用as关键字为模块指定一个别名:

python">import math as m# 使用别名调用模块中的函数
print(m.sqrt(16))  # 输出 4.0
  1. 中高级知识:import 的进阶用法

从模块中导入特定的函数或变量

使用from ... import ...语法,你可以只导入模块中的特定函数或变量,而不是整个模块。

python">from math import sqrt# 直接使用函数,无需模块前缀
print(sqrt(16))  # 输出 4.0

你还可以导入多个函数或变量:

python">from math import sqrt, powprint(sqrt(16))  # 输出 4.0
print(pow(2, 3))  # 输出 8

导入模块中的所有内容(不推荐)

虽然可以使用from ... import *语法导入模块中的所有内容,但这通常不是一个好的做法,因为它可能会导致命名冲突和难以追踪代码来源。但在某些情况下(如测试或快速原型开发),它可能是有用的。

python">from math import *print(sqrt(16))  # 输出 4.0
print(pi)  # 输出 3.141592653589793

导入包中的子模块

在Python中,模块可以组织成包(package),包是一个包含多个模块的目录。你可以使用点号(.)来导入包中的子模块。

python">from package_name.module_name import function_name# 调用函数
function_name()

动态导入模块

Python还提供了importlib模块,允许你在运行时动态地导入模块。这在一些需要根据配置或条件来导入不同模块的场景中很有用。

python">import importlib# 动态导入模块
module = importlib.import_module('module_name')# 调用模块中的函数或属性
func = getattr(module, 'function_name')
func()
  1. 注意事项
  • 尽量避免使用from ... import *,因为它可能导致命名冲突和难以追踪代码来源。
  • 在导入模块时,尽量使用绝对导入(即使用完整的包和模块路径),而不是相对导入(如from . import module)。绝对导入更加清晰和可移植。
  • 当你的项目变得越来越大时,考虑使用包来组织你的代码,并使用点号语法来导入包中的子模块。
  • 导入模块时,Python会首先查找当前目录中的模块,然后查找Python的搜索路径中的模块。因此,如果你的项目中有与标准库或第三方库同名的模块,可能会导致意外的导入结果。确保你的模块命名不会与标准库或第三方库冲突。

http://www.ppmy.cn/ops/28646.html

相关文章

Linux下深度学习虚拟环境的搭建与模型训练

在深度学习实践中,环境配置是十分重要且免不了的一步。本文以 YOLOv4 模型,介绍在Linux下虚拟环境配置到模型训练的过程。 安装Miniconda: Miniconda是Anaconda的一个轻量级版本,非常适合用于科学计算和数据处理。 wget https:…

单片机与Python串口通讯

一、单片机端 串口是一条城乡之间的窄道(连接单片机和外设),一次只能并排走八个人(8位),但大部分城市(单片机)里的人(ADC数据)喜欢12个人并排走,所以只能分开传高八位、第八位。此处以ESP32的函数为例,假设有四个通道(其它单片机只…

【JavaEE网络】网络编程及其应用概述

目录 面向字节流粘包问题 TCP异常情况TCP/UDP对比 网络层重点协议IP协议IP地址 面向字节流 粘包问题 在面向字节流的情况下,会产生一些其他的问题:粘包问题,这里“粘”的是“应用层数据报”,通过TCP read/write的数据&#xff0…

解决:could not load library libcudnn_cnn_train.so.8

训练模型时报下面错误: could not load library libcudnn_cnn_train.so.8 出现错误的可能原因: PyTorch 有自己的 CUDA 依赖项(包括 cuDNN),所以需要从库路径中移除本地安装的 cuDNN,让 PyTorch 加载它自…

消费品行业的5G新时代:2024年消费品行业趋势洞察报告

来源:安永 2023 年,我国社会消费品零售总额达人民币 47.147.147.147.1万亿元,比上年增长 7.2%7.2%7.2%7.2%;最终 消费支出拉动经济增长 4.34.34.3个百分点,比上年提高 3.13.13.1个百分点,对经济增长的贡献…

Python绘制的好看统计图

代码 sx [Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, CMRmap_r, Dark2, Dark2_r, GnBu, GnBu_r, Greens, Greens_r, Greys, Greys_r, OrRd, OrRd_r, Oranges, Oranges_r, PRGn, PRGn_r, Paired, Paired_r, Pastel1, Pastel1_r, P…

【Vue3 生命周期与组合式API】

文章目录 一、Vue3 生命周期概述二、Vue3 组合式API 与选项式API 的对比1. 选项式API 生命周期钩子函数常用的生命周期钩子函数包括: 2. 组合式API 的优势组合式API 的主要优势包括:在生命周期管理上的优势 三、Vue3 组合式API 生命周期钩子函数1. setup…

2024五一杯数学建模A题思路分析-钢板最优切割路径问题

文章目录 1 赛题选题分析 2 解题思路3 最新思路更新 1 赛题 A题 钢板最优切割路径问题 提高钢板下料切割过程中的工作效率,是模具加工企业降低成本和增加经济效益的重要途径,其中钢板切割的路径规划是钢板切割过程的一个关键环节。 钢板切割就是使用特殊…