导入函数: import和from...import...的区别

空说import和from...import...的区别,比较抽象。举个例子


定义一个函数myadd,并将这个函数命名为diguilist.py,保存到diguilist的文件夹中。也就是创建了一个diguilist的模块:

def myadd(item):
    for n in item:
        print("n=",n)
        if isinstance(n,list):
            myadd(n)
        else:
            print(n)

现在,有一个list,想调用diguilist的模块中的myadd函数,实现list的遍历。创建一个新的list

cast = ["food", "fruit", ["apple", "strawberry", "cherry"]]

如果是用import调用,则代码如下:

import diguilist
cast = ["food", "fruit", ["apple", "strawberry", "cherry"]]
diguilist.myadd(cast)  #需要注明myadd这个函数是来自哪个模块,不然(如果去掉 diguilist.)会报错:“myadd” is not defined

如果是用from...import...调用,则代码如下:

from diguilist import myadd
cast = ["food", "fruit", ["apple", "strawberry", "cherry"]]
myadd(cast)

所以,from...import...会限定导入的函数是哪个模块的。而import则没有这个功能。相比之下,还是更喜欢from...import...的语句


不过需要注意的一点就是:如果当前的编辑器中已经定义了一个myadd的函数,那么import语句会用导入的函数覆盖本编辑器定义的函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值