import 语句:
import语句作用
import语句作用就是用来导入模块的,它可以出现在程序中的任何位置。
使用import语句导入模块,import语句语法如下:
import module
关键字 模块名
使用方法例如:
import math #入导math模块
math.floor() #调用math模块中的floor()函数
如果要同时导入多个模块,只需要在模块名之前用逗号进行分隔:
import module1,module2,module3.......
同时导入多个模块的方法,对于初学者来说可读性和可理解性不如第一种好。所以想要导入多个模块时,还是比较推荐用第一种方式,把每一个模块都单独进行一次导入,可能会感觉操作起来麻烦一些,但便于理解。
在编写代码过程中,我们可能需要多种多样的模块,需要注意的是最好把导入模块放在代码的开头。
解释器在执行语句时,遵循作用域原则。因为这和作用域有关系,如果在顶层导入模块,此时它的作用域是全局的;如果在函数内部导入了模块,那它的作用域只是局部的,不能被其它函数使用。如果其它函数也要用到这个模块,还需要再次导入比较麻烦。
在用import语句导入模块时最好按照这样的顺序:
1、python 标准库模块
2、python 第三方模块
3、自定义模块
from * import *
比如我们导入一个数学计算的模块 math:
>>> import math
>>> print math
<module 'math' (built-in)>
>>>
>>> print math.pi #导出圆周率的值
3.14159265359
>>>
我们导入math模块,在python模块学习中我们会知道,这样做会得到名math的对象,这个模块对象包含了pi这样的常量,以及一些其它的方法。
我们如果直接访问 pi,不加math这个前缀会发生什么情况呢?
>>> print pi
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
print pi
NameError: name 'pi' is not defined
>>>
程序抛出了一个名为“NameError”的错误,这样的python 错误处理要怎么解决?这个时候我们可以用from这个方法来实现可以直接用pi这个方法:
>>> from math import pi
>>> print pi
3.141592653589793
>>>
这样我们就可以直接输出 pi的值了,而不会报错,不需要加那个模块名加句号。
有的朋友可能感觉还是比较麻烦,有会有更快速、更省事的Python模块导入方法呢?
答案是:还真有。
>>> from math import *
>>>
>>> pi
3.141592653589793
>>> cos(pi)
-1.0
>>>
这样就不需要一个一样导入模块内部的方法了,一次性的将所有python 调用函数方法导入,好处是代码看起来非常简洁,但是如果同时导入多个模块,要考虑模块方法名冲突等这些问题,至于怎么样使用,要看你的使用环境 。
总之,from方法导入模块,是你以后编程过程中经常会用到的。