Python基础学习之import用法详解!

Python 基础之import语句 上面代码示例表明在D5.py模块中通过导入D4.py模块,会执行D4.py模块下的可执行代码 func_d4() 函数,该函数中__name__变量变更为自己的所属的模块名D4,如果不通过导入调用,直接在D4.py下执行func_d4()函数,__name__变量为__main__,通过此特性如果D4.py模块下的代码不想被D5.py模块导入时执行,可加入判断 if __name__ == '__main__': 把不需要被导入执行的代码放到 if 判断的子语句中。from 文件夹.模块 import * 阅读详情
AI摘要

本文详细介绍了Python中import的用法。包括基本概念,常见的导入整个模块、特定内容、设置别名等方式,高级的相对导入、动态导入等用法,还说明了搜索路径、常见问题及解决方案。同时给出最佳实践建议,强调合理使用import对构建Python项目的重要性。

包含编程籽料、学习路线图、爬虫代码、安装包等!【点击领取】

一、import的基本概念
在Python中,import语句用于导入其他模块或库中的代码,使我们能够在当前程序中使用这些模块提供的功能。这是Python模块化编程的基础,也是代码复用的重要手段。

# 最基本的import用法
import math

print(math.sqrt(16))  # 使用math模块中的sqrt函数计算平方根

二、import的常见用法

  1. 导入整个模块
import module_name

这是最基本的导入方式,导入后需要通过模块名访问其中的内容。

import datetime

now = datetime.datetime.now()
print(now)
  1. 从模块导入特定内容
from module_name import name1, name2

这种方式可以直接使用导入的内容,无需加上模块名前缀。

from math import sqrt, pi

print(sqrt(9))  # 直接使用sqrt函数
print(pi)       # 直接使用pi常量
  1. 导入模块并设置别名
import module_name as alias

当模块名较长或可能与其他模块名冲突时,可以使用别名。

import numpy as np
import pandas as pd

arr = np.array([1, 2, 3])
print(arr)
  1. 从模块导入所有内容
from module_name import *

这种方式会导入模块中所有不以下划线开头的名称,但不推荐在生产代码中使用,因为可能导致命名冲突。

from math import *

print(sin(pi/2))  # 直接使用math模块中的函数和常量

三、import的高级用法

  1. 相对导入(在包内部使用)
    在包内部的模块中,可以使用相对导入来引用同一包中的其他模块。
my_package/
    __init__.py
    module1.py
    module2.py

在module2.py中:

from .module1 import some_function  # .表示当前目录
  1. 动态导入
    Python允许在运行时动态导入模块。
module_name = "math"
math = __import__(module_name)
print(math.sqrt(4))

更推荐使用importlib:

import importlib

math = importlib.import_module("math")
print(math.sqrt(4))
  1. 导入子模块
    一些库有层级结构的模块组织方式。
import urllib.request

response = urllib.request.urlopen("http://www.example.com")

四、import的搜索路径
Python在导入模块时会按照以下顺序搜索:

当前目录

PYTHONPATH环境变量指定的目录

Python安装的默认路径

可以通过sys.path查看搜索路径:

import sys
print(sys.path)

五、常见问题与解决方案

  1. ImportError: No module named ‘xxx’
    原因:Python找不到指定的模块。

解决方案:

检查模块名是否拼写错误

确保模块已安装(对于第三方库)

检查模块是否在Python搜索路径中

  1. 循环导入问题
    当两个模块相互导入时会导致循环导入问题。

解决方案:

重构代码,消除循环依赖

将导入语句移到函数内部

使用import语句而非from…import

  1. 版本冲突
    解决方案:

使用虚拟环境管理不同项目的依赖

检查模块版本:print(module_name.version)

六、最佳实践
**避免使用`from module import *****

容易导致命名冲突

代码可读性降低

合理使用别名

对于常用但名称较长的模块可以使用别名

保持一致性(如numpy通常别名为np)

组织导入语句

按照标准库、第三方库、本地库分组

每组之间空一行

按字母顺序排列

# 标准库
import os
import sys
from datetime import datetime

# 第三方库
import numpy as np
import pandas as pd

# 本地库
from . import my_module

处理可选导入

try:
    import expensive_module
except ImportError:
    expensive_module = None

七、总结
Python的import系统是语言强大功能的基础,理解其工作原理和使用方法对于编写可维护、可扩展的代码至关重要。通过合理使用import的各种形式,可以构建出结构清晰、依赖明确的Python项目。

最后:
希望你编程学习上不急不躁,按照计划有条不紊推进,把任何一件事做到极致,都是不容易的,加油,努力!相信自己!

文末福利
最后这里免费分享给大家一份Python全套学习资料,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。

包含编程资料、学习路线图、源代码、软件安装包等!【点击这里领取!】
① Python所有方向的学习路线图,清楚各个方向要学什么东西
② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
③ 100多个Python实战案例,学习不再是只会理论
④ 华为出品独家Python漫画教程,手机也能学习

在这里插入图片描述

python的import详解,史上最细 以前在使用import的时候经常会因为模块的导入而出现一些问题,以及一些似懂非懂半疑惑半糊涂的问题,索性花了点时间研究了一些python引用的方法,并且动手操作试验了一下,深有感触,特留此文以作总结,如有不当之处欢迎评论指正 本文会尽我所能详细描述,字数会比较多,希望各位耐心看完。 首先我觉得应该先了解一下python的引用是怎么引用的 我们首先新建一个python文件demo.py print(dir()) dir()命令是获取到一个object的所有属性,当传值为空时默认传入的是当前py文件 阅读详情

相关推荐

python中from import的用法详解

是Python中一种强大的导入机制,它允许你根据需要从模块中导入特定的元素。然而,使用时应注意避免命名冲突和保持代码的可读性。后续会持续更新分享相关内容,记得关注哦!

AOMGyz的博客 1835

Python 3.x | 史上最详解的 导入(import)

win10+Python 3.6.3 一、理解一些基本概念 1、包、模块 模块 module:一般情况下,是一个以.py为后缀的文件。其他可作为module的文件类型还有”.pyo”、”.pyc”、”.pyd”、”.so”、”.dll”,但Python初学者几乎用不到。 module 可看作一个工具类,可共用或者隐藏代码细节,将相关代码放置在一个module以便让代码更好用、易懂,让cod...

神是念着倒 26万+

Python中import的用法

通过使用import,我们可以利用其他开发者编写的代码,并在自己的项目中重复使用这些代码,而不必从头开始编写。通过使用import,我们可以利用其他开发者编写的代码,并在自己的项目中重复使用这些代码,从而提高开发效率。需要注意的是,使用*通配符导入所有内容可能会导致命名冲突或不可预测的行为,因此在实际开发中,最好只导入需要的特定函数或变量,或者使用模块名前缀来提高代码的可读性。在这个例子中,我们使用from关键字指定了要导入的具体函数或变量,然后可以直接使用它们,而无需在调用时使用模块名前缀。

uote_e的博客 481

【python】import的用法总结

import的学习笔记

ting的博客 4万+

手把手教你用Multisim 14.2仿真一个4.4V的LDO电路(附完整仿真文件)

本文详细介绍了如何使用Multisim 14.2仿真一个4.4V的LDO电路,从环境配置、核心参数解析到电路搭建和仿真调试。通过分压电阻精确计算和瞬态响应测试,帮助读者掌握LDO电路的设计与验证技巧,并附有完整仿真文件供参考。

weixin_28738397的博客 275

STM32解码EM4100的曼彻斯特编码(库函数版本)

前言: 前些日子老师布置一个任务叫我们焊接一个RFID读卡器,其中刚好我们手上也有一个STM32F103RBT6开发板,老师于是布置任务叫我们用STM32完成对EM4100进行读卡操作 EM4100简介: 中 文 名:EM4100卡 存储容量:64bit 工作频率:125KHZ 读写距离:2-15cm 产品名称:EM4100/EM4102卡 芯片类型:μEM瑞士微电 EM4100/EM4102 擦写寿命:读不限,只读 外形尺寸:ISO标准卡/厚卡 封装材料:PVC、ABS 典型应用:身份识别、考勤系统、门禁

Gancenty 8599

Python中import语句用法详解

Python中模块导入主要有import ... 和 from ... import ... 两种方式。二者之间的主要区别是:导入模块后,命名空间的变化...

chenshulong的博客 2万+

docker配置国内镜像源

【代码】docker配置国内镜像源。

愿听风成曲 9614

Python基础学习之 import 用法详解

Python基础学习之 import 用法 文章目录Python基础学习之 import 用法1. 直接引入模块; import 模块名;2. from 位置 import 模块名; 1. 直接引入模块; import 模块名; import 模块名,这时python可以引入以下两种模块; 我们安装好的模块; 运行文件所在目录下的文件;(这里我们推荐用 from . import 模块名) 2. from 位置 import 模块名; ...

weixin_47139649的博客 4万+

3dmax文件格式转换——.max 转换为 .flt(解决转换后.flt没有纹理贴图的问题)

本文主要介绍如何在3dmax中将.max格式文件转换为.flt格式文件,并解决转换后的文件没有纹理贴图的问题。 在3dmax中,将.max文件转换为.flt格式,只需导出选择.flt格式即可,但是导出的文件在osgEarth中加载后,缺少纹理和贴图。 下面是解决方案: 1、选中加载的模型,然后点击 渲染-> 渲染到纹理 2、将 渲染到纹理 子窗口往下拉,点击 添加 按钮,添加 ...

cchangcs 6169

32、运算放大器的工作原理与应用

本文详细介绍了运算放大器的工作原理与多种应用场景,涵盖开环与闭环放大器的基本概念、理想运算放大器的特性及其‘黄金规则’。文章深入解析了反相放大器、同相放大器、单位增益跟随器与反相器的配置和增益计算,并探讨了电压比较器及窗口比较器的工作机制。同时提供了运算放大器在实际应用中的选型流程、使用注意事项以及常见故障排查方法,帮助读者全面掌握运算放大器的设计与应用要点。

u5v6w7的博客 163

Python中import的用法总结

1.举例说明 import语句用来导入其他 python文件(称为模块 module),使用该模块里定义的类、方法或者变量,从而达到代码复用的目的。为了方便说明,我们用实例来说明 import 的用法,读者朋友可以跟着尝试(尝试时建议使用 python3,python2 和 python3 在 import 的表现有差异,之后会提到)。 首先,先建立一个文件夹Pythonproject作为工作目录,并在其内建立两个文件 main.py 和 aa.py,忽略.ieda和venv,虚拟环境和pycharm工程配

chengle的博客 7万+

AI产品经理面试宝典第94天:RAG知识库构建与预处理策略面试指南

本文深入解析RAG知识库构建的核心挑战与预处理策略,涵盖文档格式转换、问答对生成及自动化测试全流程,为AI产品经理提供面试必备的实战方法论与避坑指南,助你精准应对技术深度类问题。

打造全国最全的AI Agent开发知识领域的博客 312

python中from...import...的用法和讲解

python中from…import…的用法和讲解 在python中经常我们使用到from…import…这个句型,而这个句型后面跟着都是什么意思呢,今天我对其进行相应的总结,以便大家和我都能一起进行学习。 首先看一个例子进行相应的分析: 1.直接调用函数: #函数文件,函数文件命名为wangke def add(a,b): return a+b def su...

rubysxl的博客 3万+

《多模态融合改进》支持目标检测、目标分割、OBB、姿态估计,配置教程

本文以为例,讲解如何配置,支持替换专栏里所有的改进方式。

Limiiiing的博客 800

Python 爬虫实战:爬取去哪儿网酒店评价,提取住宿体验关键词

本文介绍了基于去哪儿网酒店评价数据的爬取与分析方法。首先通过分析网页结构和数据加载机制,定位到评价数据的JSON接口及关键参数。然后使用Python搭建爬虫环境,实现多页评价数据的批量采集与存储,并通过反爬策略确保数据获取的稳定性。在文本分析环节,采用jieba分词和TF-IDF算法提取高频关键词,结合词云可视化展示用户关注点。分析结果显示位置、服务、卫生是核心关注维度,同时识别出好评与差评的关键驱动因素。该方法为酒店服务优化和消费者决策提供了数据支持,并可通过扩展实现更深入的情感分析和竞品对比。

2503_91057718的博客 999

python基础 (一)import用法

介绍了import的各种用法

cs111211的博客 7830

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Python中import的三种用法

Python中import的三种用法 在 python 用 import 或者 from…import 来导入相应的模块。 将整个模块(somemodule)导入,格式为: import somemodule 从某个模块中导入某个函数,格式为: from somemodule import somefunction 从某个模块中导入多个函数,格式为: from somemodule import...

m0_46983541的博客 3万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Python学习——import用法

import主要有以下两种用法: import 模块名1 [as 别名1], 模块名2 [as 别名2],…:使用这种语法格式的 import 语句,会导入指定模块中的所有成员(包括变量、函数、类等)。不仅如此,当需要使用模块中的成员时,需用该模块名(或别名)作为前缀,否则 Python 解释器会报错。 from 模块名 import 成员名1 [as 别名1],成员名2 [as 别名2],…:...

qq_43117978的博客 5681

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

详解Python中的import的用法

Python用了快两年了吧,其中有些东西一直是稀里糊涂地用,import便是我一直没有明白的东西。曾经有过三次解决它的机会,我都因得过且过、一拖再拖而没能化敌为友。今天下午,它又给了我一次机会,我想我还是从了它的心愿吧。 故事是从这篇台湾同胞的博客《Python的import陷阱》[1](网址见底部)开始的,然后又跳到了Python社区的PEP 328提案[2],再结合过去的经验以及一些测试,我想我大概懂了吧。下面是我的总结,希望内容能够言简意赅、易于理解。 import语句有什么用?import语句用来导

wulishinian的博客 1938

python之import语句的用法

python之import语句的用法 import语句有什么用?import语句用来导入其他python文件(称为模块module),使用该模块里定义的类、方法或者变量,从而达到代码复用的目的。 import 语句官方文档https://docs.python.org/zh-cn/3/reference/simple_stmts.html#the-import-statement 不太好懂,解读一下: 格式一: import 模块名1 [as 别名1], 模块名2 [as 别名2],… 说明

cnds123的专栏 5189
上一篇: Python文件操作与数据处理实战指南
下一篇: Python爬取网易云音乐数据实战教程!
Python_trys
博客等级 码龄2年 4369粉丝 377原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值