Python3中的模块

 

    模块使用哪种语言实现并不重要,因为所有的模块导入与使用的方式都相同。

1、常用模块导入格式:

1 import importable1,importable2,...
2 import importable as preferred_name   #将导入的模块自定义名称。如果模块是一个包或包中的一个模块,则需将每一部分用"."进行分隔。
3 from importable import *   #将包内的所有内容都导入
4 from importable import object1,object2,...
5 from importable import object as preferred_name

  from格式有可能导致名称冲突,用from引入大量对象可以使用多行完成或对每个新行进行转义处理。例:用from os.path import dirname,就可以直接调用dirname函数,而不需要每次都从path.dirname()进行调用,但一旦dirname这个变量被自定义的名字使用,那么dirname就是你自定义的内容,而不是那个调用的函数了,这就是所说的名称冲突。

2、包

     包就是一个目录,其中包含一组模块和一个_init_.py文件。

       from package import * 将引入包中的所有模块,因为包中的_init_.py中含有一个包含所有模块名的_all_特殊变量,如果模块名没有在_all_中,就不能被*格式引入。同样用此*格式也可一起引入一个模块中的所有函数。

3、自定义模块主要结构:第一行是shebang行,接着是一些注释,接着通常是三引号包含的字符串,其中提供了模块内容的概览,通常也包括一些使用实例,这也是该模块的docstring;然后是函数的主体。一般模块结尾都有这三行:

       if _name_="_main_":
              import doctest
              doctest.testmod()
posted @ 2017-06-22 22:07  覆手为云p  阅读(1805)  评论(0编辑  收藏  举报
停止精灵球