首页 > 试题广场 >

3 [问答]在Python中导入模块中的对象有哪几种方式?

[问答题]
在Python中导入模块中的对象有哪几种方式?
其一,

import modname : 模块是指一个可以交互使用,或者从另一Python 程序访问的代码段。只要导入了一个模块,就可以引用它的任何公共的函数、类或属性。模块可以通过这种方法来使用其它模块的功能。


其二, 
from modname import funcname 
from modname import fa, fb, fc 
或者  from modname import * 
与第1种方法的区别:funcname 被直接导入到本地名字空间去了,所以它可以直接使用,而不需要加上模块名的限定 
* 表示,该模块的所有公共对象(public objects)都被导入到 当前的名称空间,也就是任何只要不是以”_”开始的东西都会被导入。 
modname没有被定义,所以modname.funcname这种方式不起作用。并且,如果funcname如果已经被定义,它会被新版本(该导入模块中的版本)所替代。如果funcname被改成指向其他对象,modname不能不会觉察到。 
建议:


其三 
内建函数__import__() 
除了前面两种使用import关键字的方法以外,我们还可以使用内建函数 __import__() 来导入 module。两者的区别是,import 后面跟的必须是一个类型(type),而__import__() 的参数是一个字符串,这个字符串可能来自配置文件,也可能是某个表达式计算结果。例如 
mymodule = __import__ (’module_name’) 

综上所述,一般情况应该使用import , 但有几个例外 
1)module文档告诉你要用from-import的 
2)导入一个包组件。需要一个包里面的某个子模块,一般用from A.b import c比import A.b.c 更方便 且不会冒混淆的危险
发表于 2019-01-18 20:56:23 回复(0)
1.导入整个模块
2.与form联用导入整个模块
3.与form联用导入一个或者多个模块
发表于 2020-12-19 15:47:02 回复(0)
from math import *
import math
import math as m

发表于 2020-06-08 14:21:39 回复(0)
from XXX import XXX
import XXX
发表于 2019-09-03 17:33:41 回复(1)
1.直接导入模块
    import modname;
2.与from联用导入函数
    from modname import funcname;
3.与from联用导入函数并起一个别名
     from modname import funcname as f;
发表于 2021-05-31 15:02:57 回复(0)
1.import 模块名
2.from 模块名 import 函数名
发表于 2021-04-17 14:50:58 回复(0)
1.from XX import XX
%从一个程序中导入要使用的函数
2.import XX
%直接导入要使用的系统模块
3.import XX as XX
%导入要使用的模块并起一个“外号”


发表于 2021-03-15 19:02:15 回复(0)
两种吧 1.直接引入包import 包名,使用包名.要使用的模块名 2,使用from 包名 import想要使用的模块,可以直接使用模块名
发表于 2020-11-06 19:45:16 回复(0)
1.import 模块名:导入模块的任何公共函数,类、属性
2.from 模块名 import 函数名:函数 被直接导入到本地名字空间,from A.b import c
3.内建函数__import__() :import 后面跟的必须是一个类型(type)
发表于 2020-09-13 19:03:36 回复(0)
<p>import 模块名</p><p>from 模块名 import *</p>
发表于 2020-08-15 01:49:14 回复(0)
import * from * import * 都可跟as进行重命名
发表于 2020-07-07 17:46:00 回复(0)
from import
发表于 2020-06-25 10:29:36 回复(0)
import xxx from xxx import xxx as x
发表于 2020-04-20 07:21:01 回复(0)

1、导入整个模块:

一般格式为:

import 模块1[模块2[,...]]

2、与form联用导入整个模块:

一般格式为:

form 模块名 import*


发表于 2020-02-11 20:39:10 回复(1)
import a
发表于 2019-11-23 19:49:51 回复(0)
import ... from ... from... import ...
发表于 2019-10-21 10:28:21 回复(0)
普通导入
import xxx
from xxx import xxxx
尽量不用 from xxx import *

动态导入(有需要动态加载代码的地方)
__import__()
imp模块imp.loadmoudle()
exec  ... in
发表于 2019-01-19 14:21:55 回复(1)
import,from...import...
发表于 2018-10-25 07:57:17 回复(0)
常规导入:
import os
使用from语句导入:
import os from *
相对导入
可选导入
本地导入
发表于 2018-09-26 19:45:21 回复(0)
import 模块名 [as 别名] from 模块名 import 对象名[ as 别名] from math import *
发表于 2018-09-26 10:03:35 回复(0)