Python -- import 和 from …import...的区别

Author: LiChong0309
Lable: Python


明确: import 和from…import…是等价的,使用其中的任意一个都是没有问题的,只是在程序中使用导入的模块中的方法时不太一样。

观察下面两段实现相同功能的代码
1. import 方法

import skimage 
img = skimage.io.imread('d:/1.png')#调用io成员中的imread方法,读入一张图片
skimage.io.imshow(img)  #调用io成员中的imshow方法,显示图片

2.from…import …方法

from skimage import io
img  = io.imread('d:/1.png')  #调用io成员中的imread方法,读入一张图片
io.imshow(img)   #调用io成员中的imshow方法,显示图片

区别:上面的两段代码都使用了skimage模块中io成员。
①:第一种方法只导入了skimage,没有申明io成员。所以在之后的代码中使用io成员都要申明是skimage中的io成员。
②:第二种方法在导入skimage的时候,就申明是skimage中的io成员。所以在之后中使用io不需要在申明是skimage模块中的。

这里写图片描述

总结: impot…和from…import…都是可以的。
①:我个人更偏向于使用import,因为这样会让代码更加易读,也能避免名称的冲突,但同时也会多敲几次键盘。
②:对于一些大家经常使用的模块,前人都是那样使用的,我觉得为了代码的可读性,也没必要改过来了,就使用大众都使用的方法吧。比如:

import numpy as np  # 使用numpy模块并自定义为np
import matplotlib.pyplot as plt  
"""
等价于 from matplotlib import pyplot as plt
使用matplotlib模块中的pyplot成员并自定义为plt
"""
Python中,`from ... import ...`语句用于从一个模块中导入指定的对象或函数。通过使用`from ... import ...`语句,我们可以直接在当前脚本中引用被导入的对象,而无需使用完全限定名称。这种方式可以简化代码,并提高代码的可读性。 在包的`__init__.py`文件中,如果将一个模块导入到该包中,那么在该包的其他模块中可以直接使用`from package import Module`语句导入该模块。这样,在当前脚本中就可以直接使用被导入的模块中的对象和函数。 所以,`from ... import ...`语句可以用来在Python中从一个包中导入指定的模块,以便在当前脚本中直接使用。 参考资料: https://www.iplaypy.com/jinjie/from-import.html 该文件的主要作用是初始化Python包。如果目录下面包含了该文件,Python解释器就会将该目录当做一个包,下一步就可以使用import语句在别的.py脚本中引用该目录下的文件。一个标准Python模块的结构如下所示: package/ __init__.py file.py file2.py subpackage/ __init__.py submodule1.py submodule2.py <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python的from和import用法](https://blog.csdn.net/qq_30815237/article/details/93203934)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值