Python 模块

3/19/2022 python

使用函数的优点之一是可将代码块与主程序分离。通过给函数指定描述性名称,可让主程序容易理解得多。

可以更进一步,将函数存储在称为模块的独立文件中,再将模块到主程序中。import语句允许在当前运行的程序文件中使用模块中的代码。

通过将函数存储在独立的文件中:

  • 能够有逻辑地组织你的 Python 代码段;
  • 可隐藏程序代码的细节,将重点放在程序的高层逻辑上;
  • 让在众多不同的程序中重用函数,将函数存储在独立文件中后,可与其他程序员共享这些文件而不是整个程序
  • 把相关的代码分配到一个模块里能让你的代码更好用,更易懂。
  • ......

# 创建模块

模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。

下例是个简单的模块support.py

def print_func(par):
   print(f"Hello : {par}")

# 导入整个模块

在 support.py 所在的目录中创建一个名为main.py的文件。

import support

support.print_func('oldbirds')

import support 让 Python 打开文件 support.py,并将其中所有函数都复制到这个程序中。你看不到复制的代码,因为在这个程序即将运行时,Python 在幕后复制了这些代码。

要调用被导入模块中的函数,可指定被导入模块的名称 support 和函数名 print_func,并用.分割。

# 导入特定的函数

from support import print_func

print_func('oldbirds')

使用这种语法时,调用函数无需使用.,只需指定其名称即可。

# 使用 as 给函数指定别名

如果要导入函数的名称可能与程序中现有的名称冲突,或者函数的名称过长,可指定简短而独一无二的别名。

from support import print_func as pf

pf('oldbirds')

# 使用 as 给模块指定别名

通过给模块指定简短的别名,可以更轻松的调用模块中的函数,更为简洁。

import support as s
s.print_func('oldbirds')

这样不仅代码更为简洁,还让你不用再关注模块名,只专注于描述性的函数名。这些函数明确明确指出了函数的功能,对于理解代码而言,比模块名更重要。

# 导入模块中的所有函数

from support import *

print_func('oldbirds')
上次更新: 11/17/2023, 6:52:17 AM