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模块中的。

Python -- import 和 from …import...的区别_第1张图片

总结: 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)