关闭

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

180人阅读 评论(0) 收藏 举报
分类:

空说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语句会用导入的函数覆盖本编辑器定义的函数。

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13637次
    • 积分:166
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    文章分类
    文章存档