有时候可以将函数存储在被称为模块的独立文件中,再将模块导入到主程序中。import语句允许在当前运行的程序文件中使用模块的代码,导入模块的方法有多种,如下:
导入这个模块
要让函数是可导入的,得先创建模块。模块(module)是扩展名为.py的文件,包含要导入到程序中的代码。下面来创建一个包含函数user_name()的模块。将模块名定为profile.py
profile.py # 下面是模块中函数user_name()中的代码块
————————————————
def user_name(first_name, last_name, middle_name=" "):
if middle_name:
full_name = first_name + middle_name + " " + last_name
else:
full_name = first_name + last_name
return full_name.title()
接下来,我们在profile.py所在的目录中创建另一个名为building_profile.py的文件,然后导入刚创建的模块,再调用函数user_name()
building_profile.py
————————————————
import profile
profile.user_name("bao", "chen", "lian") # 要调用被导入的模块中的函数,可指定导入的模块的名称profile和函数名称名user_name(),并用点号分隔它们
如上所述,python读取build_profile.py这个文件时,代码行import profile 让python打开profile.py,并将其中所有的函数都复制到这个程序中。然后就可以使用profile.py定义的所有函数,你就可以使用下面的语法来使用其中任何一个函数:
module_name.function_name()
导入特定的函数
你还可以导入模块中的特定函数,语法如下
from module_name import function_name
若使用这种语法,调用函数时就无需使用句点,然后就可以直接用function_name来调用函数
使用as给函数指定别名
如果要导入的函数名称可能与程序中现有的名称冲突,或者函数的名称太长,可给导入的函数起另一个名称(如 mp),指定别名的通用语法如下:
from module_name import function_name as mp
使用as给模块指定别名
给模块指定别名的通用语法如下:
import module_name as mn
导入模块中的所有函数
使用星号(*)运算符可让python导入模块中的所有函数
from module_name import *
参考书籍:
Python 编程从入门到实践 Eric Mattes 著,袁国忠 译