python中import和from import的区别
程序员文章站
2024-03-12 19:27:56
...
前些日子看到知乎上有人把import比作一辆车,把from import比作车子里面的矿泉水
我觉得这比喻还可以,但是首先得确定你是一个缺水的人,你渴你正要矿泉水,而不是什么咖啡牛奶
先举一个大家都清楚的例子:
>>> import datetime
>>> print(datetime.datetime.now())
2018-05-05 22:02:59.862502
import是引入整个datetime库,如果你要使用datetime库中的datetime类,你需要在使用的时候加上类名限定
也就是说datetime库中还有date、time等等很多的类,你不加上类名程序可不知道你用什么类
要是便于理解的话,你可以把类看作是一个执行什么特定功能的函数
接下来看另一个:
>>> from datetime import datetime
>>> print(datetime.now())
2018-05-05 22:04:00.755502
如果使用from import,那就直截了当了,你就是需要datetime库里的datetime类
这时候你调用的时候,就不用加上类名的限定
看完了标准库如何导入调用,我们试试调用自己所写的函数吧
程序如下:
# hello.py
def add(a, b):
return a + b
def sub(a, b):
return a - b
在我写的hello.py文件中,只有一个add和一个sub函数运行该程序,我们分别看看它的两种调用方式
import:
>>> import hello
>>> hello.add(1, 2)
3
>>> hello.sub(2, 3)
-1
>>> x = hello
>>> x.add(1, 3)
4
from import:
>>> from hello import add
>>> add(2, 3)
5
>>> from hello import * # 导入全部函数
>>> sub(4, 3)
1
推荐阅读
-
python中import和from import的区别
-
Python中函数eval和ast.literal_eval的区别详解
-
Python中read()、readline()和readlines()三者间的区别和用法
-
python中import reload __import__的区别详解
-
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
-
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
-
Python中read()、readline()和readlines()三者间的区别和用法
-
Python中函数eval和ast.literal_eval的区别详解
-
浅谈Python2.6和Python3.0中八进制数字表示的区别
-
Python中%r和%s的详解及区别