跳转至
阅读量:

Python 学习之路——模块

Python作为当今一种十分流行地语言,在许多方面都有着涉及,而支撑Python能够这么强大的就是许许多多的开源库。 Python库 每一个库也是一个模块,我们在设计程序时也要尽量将程序模块化。程序模块化后在后面的程序开发中就可以通过组合模块来搭建完整程序,避免重复造轮子的现象。 模块化的优点:

  • 1.方便开发
  • 2.方便维护
  • 3.提高代码复用率

一、导入模块

在Python中利用import函数导入模块。 语法

# 一、导入整个模块
improt 模块名
调用模块名.功能名

# 二、导入模块并重新起一个名字
import 模块名 as 别名
调用别名.功能名

# 三、导入模块中的部分功能
from 模块名 import 功能名
调用功能名

# 四、导入模块中的部分功能并重新起一个名字
from 模块名 import 功能名 as 别名
调用别名

# 导入整个模块到命名空间,调用时无需加模块名
from 模块名 import * 
调用功能名
注意,最后一种模块导入方式会将模块整个导入命名空间,当模块较大时不建议用此方式。并且在实际使用过程中不建议多个模块使用该方法 导入,因为容易导致变量名的混淆覆盖,导致程序出现异常。

二、自定义模块

在Python中每一个py文件就是一个模块,我们写的Python文件可以作为模块导入我们到我们的程序中。 每一个程序中有一个__name__特殊方法,可以通过它获得模块的名字,其中__name__属性为__main__的模块就是主模块,在一个Python程序中只有一个主模块,Python执行的也是主模块下的程序。 为了让我们的程序不仅能够作为模块导入功能使用,也能够单独使用,我们常常使用下面格式编写主程序。

if __name__ == '__main__':
    主程序块
使用上述代码编写的程序,在作为模块被导入时就不会执行主程序块的内容;在作为主程序使用时执行主程序块的内容。 test1.py程序:
def speak():
    print('1:Python')

if '__name__' == '__main__':
    speak() # Python
test2.py程序:
def speak():
    print('2:Python')

speak() # Python
使用test.py的程序:
import test1
import test2

test1.speak()
# 1:Python

test2.speak()
# 2:Python
# 2:Python
执行上面的程序时我们发现,调用test1模块时,只执行了一次speak()函数,但是调用test2模块时,执行了两次speak()函数,这是因为在调用test2时也执行了speak()。因此在我们平时的程序设计过程中建议使用test1中的模式进行设计程序。

评论