函数(三)

将函数存储在模块中

  函数的优点:

    使用函数可以将代码与主程序分开,通过给函数指定描述名称,可以让主程序更易理解。

更进一步,将函数存储在被称为模块的独立文件中,再将模块导入到主程序中。这样做的好处是
可以在众多不同的程序中重复使用同一个函数

 

让函数可导入:

 首先得创建模块,模块是扩展名为.py的文件,包含要导入到程序中的代码。

示例:

1,创建一个pizza.py文件,含如下内容:

 

#!/usr/bin/env python

 

#filename=pizza.py

 

def make_pizza(customer,size,*toppings):

 

    """打印要制作的披萨"""

 

    print(customer.title()  + ', ' +  "预定一个" + str(size) + "寸的披萨,包含如下食材:")

 

    for topping in toppings:

 

        print("- " + topping)

 

这个函数中,定义了2个固定形参:

customer,size

和1个任意数量的形参:

*toppings

编写另一段程序:

#!/usr/bin/env python
#filename = 客户预定信息.py
import pizza

pizza.make_pizza('nichole','12','火腿','鱿鱼','鸡肉','芝士')
pizza.make_pizza('tom','21','火鸡','芝士','牛肉','青椒')

在这段函数里,就把pizza.py import了一下

效果:

 

Nichole, 预定一个12寸的披萨,包含如下食材:
- 火腿
- 鱿鱼
- 鸡肉
- 芝士
Tom, 预定一个21寸的披萨,包含如下食材:
- 火鸡
- 芝士
- 牛肉
- 青椒

 

如果一个模块中,有多个函数,可以导入特定的函数

 导入方法:

  form module_name import function_name(使用*代替 function_name 就代表导入模块中所有的函数)

例如:

 

#filename = 客户预定信息.py
from pizza import make_pizza
make_pizza('nichole','12','火腿','鱿鱼','鸡肉','芝士')
make_pizza('tom','21','火鸡','芝士','牛肉','青椒')

 

导入函数的时候,指定别名:

#一般用于函数名称特别长,或者与后续主程序有冲突的时候#

例如:

from pizza import make_pizza as mp

在主程序中使用函数make_pizza的时候,只需要使用“mp”

 

posted @ 2017-05-10 22:24  alben-xue  阅读(179)  评论(0编辑  收藏  举报