请教一个python问题:from XXX import XXX
像类似于fromXXXimportXXX这样的语句,比如说:fromlxmlimportetree我想问一下,etree是一个module吗?如果是的话那lxml是什么,...
像类似于from XXX import XXX这样的语句,比如说:from lxml import etree
我想问一下,etree是一个module吗?如果是的话那lxml是什么,还是一个module吗?
其实原话是这样的:
try:
from lxml import etree
except ImportError:
import xml.etree.ElementTree as etree
书上只是举了一个try...except语句的用例,但我对module、package之类的概念一直模糊,所以就顺便问问了,xml.etree.ElementTree这是什么格式?ElementTree是一个module,etree是一个package?那xml是什么?
谢谢! 展开
我想问一下,etree是一个module吗?如果是的话那lxml是什么,还是一个module吗?
其实原话是这样的:
try:
from lxml import etree
except ImportError:
import xml.etree.ElementTree as etree
书上只是举了一个try...except语句的用例,但我对module、package之类的概念一直模糊,所以就顺便问问了,xml.etree.ElementTree这是什么格式?ElementTree是一个module,etree是一个package?那xml是什么?
谢谢! 展开
4个回答
展开全部
你可以理解为:
对于:
from lxml import etree
是
from Module import Function或Class等
这个只是从模块中导入一个或几个函数或类的做法。
另外一个常见的是
import Module
你这里就是:
import lxml
是把整个模块中得东西,包括上面那单个etree都导入->所以你后面的程序就都可以使用了。
更多解释,可参考:
【教程】Python中的内置的模块 和第三方的模块
【已解决】Python中导入子文件夹中的模块
(此处不给贴地址,请自己用google搜标题,就可以找到地址了)
============
“xml.etree.ElementTree这是什么格式?”
可以看做是:
package.module.function
或
package.module.attribute
"ElementTree是一个module,etree是一个package?"
你的理解错了。
同上,ElementTree是一个function或attribute
etree是一个module
“那xml是什么?”
xml是package
详细解释,自己看:
【整理】Python中的module,library,package之间的区别
对于:
from lxml import etree
是
from Module import Function或Class等
这个只是从模块中导入一个或几个函数或类的做法。
另外一个常见的是
import Module
你这里就是:
import lxml
是把整个模块中得东西,包括上面那单个etree都导入->所以你后面的程序就都可以使用了。
更多解释,可参考:
【教程】Python中的内置的模块 和第三方的模块
【已解决】Python中导入子文件夹中的模块
(此处不给贴地址,请自己用google搜标题,就可以找到地址了)
============
“xml.etree.ElementTree这是什么格式?”
可以看做是:
package.module.function
或
package.module.attribute
"ElementTree是一个module,etree是一个package?"
你的理解错了。
同上,ElementTree是一个function或attribute
etree是一个module
“那xml是什么?”
xml是package
详细解释,自己看:
【整理】Python中的module,library,package之间的区别
展开全部
from Module import something
至于something是什么,只要是定义这这个module里的全局的anything都可以。
例如:
文件,explain.py
----------------------------------------------------
class aclass(object):
.........
.........
def doSomething():
...........
...........
version = '1.0'
----------------------------------------------------
那我们可以有如下的写法:
from explain import aclass
from explain import doSomething
from explain import version
或者:
from explain import *
之所以要在import后面加一个确定的目标对象,是为了减少import一些不必要的东东。
至于something是什么,只要是定义这这个module里的全局的anything都可以。
例如:
文件,explain.py
----------------------------------------------------
class aclass(object):
.........
.........
def doSomething():
...........
...........
version = '1.0'
----------------------------------------------------
那我们可以有如下的写法:
from explain import aclass
from explain import doSomething
from explain import version
或者:
from explain import *
之所以要在import后面加一个确定的目标对象,是为了减少import一些不必要的东东。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以理解为:
对于:
from lxml import etree
是
from Module import Function或Class等
这个只是从模块中导入一个或几个函数或类的做法。
另外一个常见的是
import Module
你这里就是:
import lxml
是把整个模块中得东西,包括上面那单个etree都导入->所以你后面的程序就都可以使用了。
解决循环import的方法主要有几种:
1.延迟导入
即把import语句写在方法或函数里面,将它的作用域限制在局部。这种方法的缺点就是会有性能问题。
2.将from xxx import yyy改成import xxx;xxx.yyy来访问的形式
3.组织代码
出现循环import的问题往往意味着代码的布局有问题。可以合并或者分离竞争资源。合并的话就是都写到一个文件里面去。分离的话就是把需要import的资源提取到一个第三方文件去。总之就是将循环变成单向。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好
在from aaa import bbb中:
aaa是一个module
bbb是一个方法或者类
bbb是在aaa下的
就像from copy import deepcopy一样
这样讲希望你可以理解
在from aaa import bbb中:
aaa是一个module
bbb是一个方法或者类
bbb是在aaa下的
就像from copy import deepcopy一样
这样讲希望你可以理解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询