Python3中的模块

时间:2022-08-30 21:00:34

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

1、常用模块导入格式:

import importable1,importable2,...

import importable as preferred_name   #将导入的模块自定义名称。如果模块是一个包或包中的一个模块,则需将每一部分用"."进行分隔。

from importable import *   #将包内的所有内容都导入

from importable import object1,object2,...

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()