函数5将函数存在模块中以及导入模块-python进阶篇五
将函数存储在被称为模块的独立文件中,再将模块导入到主程序中。import 语句允许在当前运行的程序文件中使用模块中的代码。模块是扩展名为.py的文件,包含要导入到程序中的代码。
1、导入整个模块。
#这段代码存在pizza.py文件中 def make_pizza(size, *toppings): """概述要制作的比萨""" print("\nMaking a " + str(size) + "-inch pizza with the following toppings:") for topping in toppings: print("- " + topping) #在making_pizzas.py中进行导入 import pizza pizza.make_pizza(16, 'pepperoni') pizza.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
2、导入特定的函数。
如果不想导入这个模块,还可以导入模块中的特定函数,这种导入方法的语法如下:
from module_name import function_name #通过用逗号分隔函数名,可根据需要从模块中导入任意数量的函数 from module_name import function_0, function_1, function_2
对于前面的making_pizzas.py示例,如果只想导入要使用的函数,代码将类似于下面这样:
from pizza import make_pizza make_pizza(16, 'pepperoni') make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
3、使用as 给函数指定别名
如果要导入的函数的名称可能与程序中现有的名称冲突,或者函数的名称太长,可以使用as指定简短而独一无二的别名 ——函数的另一个名称。
from pizza import make_pizza as mp mp(16, 'pepperoni') mp(12, 'mushrooms', 'green peppers', 'extra cheese')
还可以给模块指定别名。通过给模块指定简短的别名(如给模块pizza 指定别名p )
mport pizza as p p.make_pizza(16, 'pepperoni') p.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
导入模块中的所有函数,使用星号(* )运算符可让Python导入模块中的所有函数
from pizza import * make_pizza(16, 'pepperoni') make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
*由于导入了每个函数,可通过名称来调用每个函数,而无需使用句点表示法。然而,使用并非自己编写的大型模块时,最好不要采用这种导入方法