函数的优点之一是,使用它们可将代码块与主程序分离。通过给函数指定描述性名称,可让主程序容易理解得多。你还可以更进一步,将函数存储在被称为模块的独立文件中,再将模块导入到主程序中。imprt语句允许在当前运行的程序文件中使用模块中的代码。
通过将函数存储在独立的文件中,可隐藏程序代码的细节,将重点放在程序的高级逻辑上。将函数存储在独立文件中后,可与其他程序员共享这些文件而不是整个程序。
1、导入整个模块:只需编写一条import语句并在其中指定模块名,就可以在程序中使用该模块的所有函数。如果你使用这种import语句导入了名为module_name.py的整个模块,就可以使用下面的语法来使用其中任何一个函数
module_name.function()
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
#python读取这个文件时,代码行import pizza让Python打开文件pizza.py,并将其中的
#所有函数都复制到这个程序中
pizza.make_pizza(16,'pepperoni')
pizza.make_pizza(12,'mushrooms','green peppers','extra cheese
2、导入特定的函数
你可以导入模块中的特定函数,这种导入方法的语法如下:
from module_name import function_name 通过用逗号分隔函数名,可根据需要从模块中导入任意数量的函数。若使用这种语法,调用函数时就无需使用句点。
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')
4、使用as给模块指定别名
可以给模块指定别名。通过给模块指定简短的别名,能够轻松地调用模块中的函数。
import pizza as p
p.make_pizza(16,'pepperoni')
p.make_pizza(12,'mushrooms','green peppers','extra cheese')
5、导入模块中的所有函数
使用星号(*)运算符可以让Python导入模块中的所有函数:由于导入了每个函数,可通过名称来调用每一个函数,而无需使用句点表示法。然而并非自己编写的大型模块时,最好不要采用这种导入方法。防止名称相同。
from pizza import *
make_pizza(16,'pepperoni')
make_pizza(12,'mushrooms','green peppers','extra cheese')
《Python从入门到编程》