【Python】一文带你区别import与from import,理解“模板”

本文详细讲解了Python中import和from import的区别,涉及系统自带模块、第三方库和自定义模块的导入策略,通过实例说明如何选择和使用它们,提升代码可读性和效率。
Python3.8

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

对于很多向我一样的初学者来说,不知道什么时候用import xxx,什么时候用from xxx import xxx,

或者是from x.y import xxx?通常我们导入的模块是系统自带模块,第三方库和自定义模块,那么我们就从这三方面来说。

一,系统自带模块

用我们常见math模块来解释

#例一
import math
a=math.cos(5)

print(a)

有的时候是这样引用

#例二

from math import cos        #引用三角函数的时候不用加上()

a=cos(5)

print(a)

例一导入的是math的factorial函数,例二导入的是math里的三角函数 。那么他们们的区别是什么呢?看看下边的例子

 很显然,import引入的是模块math,它是一个module类,from import引入的是模块里的sin()函数,它是一个function或method类。

如果你的代码里边已经决定就使用这一个sin()函数了,那么这两种方法都可以用,没有区别。

import math

a=math.sin(5)

from math import sin

a=sin(5) 

 但是如果你用math里边的多个函数或方法,那么第一种方法更加清晰一点

import math

a=sin(5)+cos(5)

相反的话就是

from math import sin,cos

a=sin(5)+cos(5)

二,第三方库

如果使用的第三方库的话,我们也会看见如下的代码

 from lxml.html import fromstring
 
 selector = fromstring(HTML)

也可以写成

 from lxml import html
 
selector = html.fromstring(HTML)  

但是,如果这样写的话会报错

import lxml
selector = lxml.html.fromstring(HTML)

那么这里的lxml.html又是什么东西呢?

这种情况多常见于一些特别大型的第三方库中,这种库能处理多种类型的数据。例如lxml它既能处理xml的数据,又能处理html的数据,于是这种库会划分子模块,lxml.html模块专门负责html相关的数据。

三,自定义模块

要先理解自定义模块,先来理解一下模块与包的定义

1、模块、包
模块 module:一般情况下,是一个以.py为后缀的文件。
module 可看作一个工具类,可共用或者隐藏代码细节,将相关代码放置在一个module以便让代码更好用、易懂,让coder重点放在高层逻辑上。
module能定义函数、类、变量,也能包含可执行的代码。module来源有3种:
①Python内置的模块(标准库);②第三方模块;③自定义模块。

包 package: 为避免模块名冲突,Python引入了按目录组织模块的方法,称之为 包(package)。包 是含有Python模块的文件夹

即包相当于一个文件夹,模块相当于文件夹里的文件,文件内容是代码块,便于引用。

先创建一个包(文件夹)CSDN,在里边加入了main.py和Tuster_.py模块

在Tuster_.py模块中,定义模块中的函数write,每次调用write函数都会打印‘write函数被调用’

在main.py模块中,调用Tuster_模块的write函数


 

 这样就可以调用我们自己定义的模块啦!!!可以根据需要自己定义自己模板,并填充代码块,达到让主体代码更加简洁,隐藏部分代码,可读性更加高的目的啦!!!

结语:希望能够帮助你更好的理解import与from import的区别,如果帮助到你还是老规矩,先赞,再看,后评论!!!

今日一笑:

地理老师问:“河水往哪里流啊?”

一学生猛站起来唱到:“大河向东流啊! ”

老师没理会他接着说:“天上有多少颗星星阿?”

那学生又唱到:“天上的星星参北斗阿! ”

老师气急:“你给我滚出去! ”

学生:“说走咱就走阿! ”

老师无奈:“你有病吧?”

学生:“你有我有全都有阿! ”

老师:滚

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TUSTer_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值