python中import和from import的区别

前些日子看到知乎上有人把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

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值