码迷,mamicode.com
首页 > 编程语言 > 详细

Python学习(六)模块

时间:2015-04-06 21:35:31      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

Python 模块

 

  模块定义

    随着程序越来越庞大,需要分隔成几个文件;也需要能在不同文件中复用函数、类和变量,而不是拷贝代码。为了满足这些需要,Python提供了模块。

    简单地说,模块就是一个保存了Python代码的文件。模块能定义函数,类和变量。模块里也能包含可执行的代码。

    模块是包括Python定义和声明的文件。文件名就是模块名加上  .py 后缀。(目前使用Notepad++ 学习而保存的 .py 文件即为模块)

    模块的模块名(作为一个字符串)可以由全局变量 __name __ 得到。

    例如,在当前目录下创建一个名为 fibo.py 的文件,内容如下:

 1 # Fibonacci numbers module
 2 
 3 def fib(n):                    # write Fibonacci series up to n
 4     a = 0
 5     b = 1
 6     while b < n:
 7         print(b, end= )        
 8         b = a + b            
 9         a = b - a
10     print()

    备注:Notepa++ 中可分视图查看,选择移动到另一视图,查看下方截图

    新建一 .py 文件,如 module.py( 与 fibo.py 同一目录),引用 fibo  import fibo ,执行 fibo下的 fib 函数  fibo.fib(1000)  (即输出1000 内的 fibonacci数列),参见下方截图

 技术分享
    

技术分享

 

  导入模块

    模块需要导入,通过上方的例子以及之前的章节,已经接触到 import 的语句,现在具体来说明下模块的导入。

    import modulename1 [, modulename2[,... modulenameN]  可通过 import 语句导入一个或多个模块,模块导入命令通常放在脚本顶端。

    参考上例,  import fibo 该命令不会直接把fibo中的函数导入当前,只是引入了模块名fibo,可通过模块名来访问函数  fibo.fib(1000) 

    可在代码中定义变量来反复使用该函数,如:

fib = fibo.fib        # 新建函数变量
fib(20)
fib(100)

    from modname import name1[, name2[, ... nameN]]  从模块中导入一个或多个指定的部分到当前命名空间中

    在 fibo.py 新增一个函数,代码如下:

1 def fib_l(n):            # return Fibonacci series up to n
2     result = []
3     a = 0
4     b = 1
5     while b < n:
6         result.append(b)        
7         b = a + b            
8         a = b - a
9     return result

    通过  from fibo import fib_l  导入 fibo 中的指定部分 fib_l,这样不会导入模块名 fibo

 技术分享

     from modname import *   导入模块中的所有定义(除了以下划线_命名的),这种声明不该被过多地使用。

 

  定位模块

    当你导入一个模块,Python解析器对模块位置的搜索顺序是:

      1. 当前目录

      2. 如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录

      3. 如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/

    模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。

 

    

    

    

 

Python学习(六)模块

标签:

原文地址:http://www.cnblogs.com/feeland/p/4396367.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!