python的import与from...import的不同之处-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

python的import与from...import的不同之处

简介:

在python用import或者from...import来导入相应的模块。模块其实就是一些函数和类的集合文件,它能实现一些相 应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入到我们的程序中,我们就可以使用了。这类似于C语言中的include头文 件,Python中我们用import导入我们需要的模块。

eg:

import sys
print('================Python import mode==========================');
print ('The command line arguments are:')
for i in sys.argv:
    print (i)
print ('\n The python path',sys.path)

from sys import argv,path  #  导入特定的成员
print('================python from import===================================')
print('path:',path) # 因为已经导入path成员,所以此处引用时不需要加sys.path

如果你要使用所有sys模块使用的名字,你可以这样:

from sys import *
print('path:',path)

从以上我们可以简单看出:

############################
#导入modules,import与from...import的不同之处在于,简单说:
# 如果你想在程序中用argv代表sys.argv,
# 则可使用:from sys import argv
# 一般说来,应该避免使用from..import而使用import语句,
# 因为这样可以使你的程序更加易读,也可以避免名称的冲突
###########################



你可以理解为:
对于:
from lxml import etree
是
from Module import Function或Class等
这个只是从模块中导入一个或几个函数或类的做法。
另外一个常见的是
import Module
你这里就是:
import lxml

是把整个模块中得东西,包括上面那单个etree都导入->所以你后面的程序就都可以使用了。

更多解释,可参考:
【教程】Python中的内置的模块 和第三方的模块
【已解决】Python中导入子文件夹中的模块


本文转自 Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1588501

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: