• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
QQ糖_尤尤
博客园    首页    新随笔    联系   管理    订阅  订阅
8.6 将函数存储在模块中

函数的优点:

1.可将代码与主程序分离。

2.可将函数存储在模块中(独立文件中),

3.可以 import 语句导入到程序中

 第一步:

#创建一个包含函数make_pizza()的模块,模块文件的扩展名为.py


def make_pizza(size,*toppings):

    """概述要制作的比萨"""
    print("\nMakeing a "+str(size)+"-inch pizza with the following toppings:")
    for topping in toppings:
        print("-"+topping)

 第二步:

#该文件需要和pizza.py模块文件在同一个目录
import pizza

pizza.make_pizza(16,"peperoni")
pizza.make_pizza(12,"mushrooms","green peppers","extra cheese")

 运行结果:

>>> 
============= RESTART: D:\python学习\第8章 函数\8.6.1\making_pizzas.py =============

Makeing a 16-inch pizza with the following toppings:
-peperoni

Makeing a 12-inch pizza with the following toppings:
-mushrooms
-green peppers
-extra cheese
>>> 

 8.6.2 导入特定的函数

可以根据 需要从模块中导入任意数量的函数,函数名用逗号隔开

语法如下:

 from moudle_name import function_0,function_1,function_2

8.6.1中例子,如果只想导入要使用的函数,代码如下:

#该文件需要和pizza.py模块文件在同一个目录
from pizza import make_pizza

make_pizza(16,"peperoni")
make_pizza(12,"mushrooms","green peppers","extra cheese")

 8.6.3 使用as给函数指定别名

导入的函数可以指定一个独一无二的别名,类似于外号。

#该文件需要和pizza.py模块文件在同一个目录
from pizza import make_pizza as mp

mp(16,"peperoni")
mp(12,"mushrooms","green peppers","extra cheese")

 8.6.4 使用 as给模块指定别名

可以给模块指定别名(如给模块pizza指定别名p),可以轻松调用模块中的函数。

相比于pizza.make_pizza(),p.make_pizza()更为简洁。

#该文件需要和pizza.py模块文件在同一个目录
import pizza as p
p.make_pizza(16,"peperoni")
p.make_pizza(12,"mushrooms","green peppers","extra cheese")

 8.6.5 导入模块中的所有函数

使用星号(*)运算符可让python导入模块中的所有函数

如上例,如果pizza模块中有多个函数可以通过该方法导入。

#该文件需要和pizza.py模块文件在同一个目录
from pizza import *
make_pizza(16,"peperoni")
make_pizza(12,"mushrooms","green peppers","extra cheese")

 注意:这种方法如果模块中有函数名称与自己项目中使用的名称相同,python可能遇到多个名称函数或变量,进而覆盖函数而不是分别导入所有的函数。

 

posted on 2021-01-18 22:36  QQ糖_尤尤  阅读(121)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3