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

阅读更多
版权声明:本文为博主原创文章,欢迎转载,转载请注明出处。 https://blog.csdn.net/fang_zz/article/details/51549398
个人分类: python
上一篇python 中 list 列表 的十种操作方法:添加,插入,弹出,删除,延长,运算,查找,排序,反转,采用递归函数深度遍历list
下一篇在pypi上发布package时,遇到的error
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭