将函数存储在模块中

  • 将函数存储在被称为模块的独立文件中,在将模块导入到主程序中
  • import语句允许在当前运行的程序文件中使用模块中的代码
  • 通过将函数存储在独立的文件中,可影藏程序的代码细节,将重点放在程序的高层逻辑上。

导入整个模块

  • 要让函数是可导入的,得先创建模块,模块是扩展为.py的文件,它包含导入到程序中的代码
  • 要调用被导入的模块中的函数,可指定导入的模块的名称和函数名,并用句点分隔它们
# 案例导入pizza.py模块
def make_pizza(size, *toppings):
'''概述要制作的比萨'''
print("\nMaking a " + str(size) +
"-inch pizza with the following toppings:")
for toppping in toppings:
print("- " + topping) import pizza
pizza.make_pizza(16, 'pepperoni')
pizza.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')

导入特定的函数

  • 导入模块中的特定函数
  • 通过用逗号分隔函数名,可根据需要从模块中导入任意数量的函数。
# 案例
from module_name import function_name from module_name import function_0, function_1,function_2 from pizza import make_pizza
make_pizza(16, 'pepperoni')
make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
# 使用这种语法,调用函数时无需使用句点

使用as给函数指定别名

  • 如果导入的函数的名称可能与程序中的名称冲突,或者函数的名称太长,可指定简短而独一无二的别名——函数的另一个名称,类似于外号。
# 案例
from pizza import make_pizza as mp
mp(16, 'pepperoni')
mp(12, 'mushrooms', 'green peppers','extra cheese')

导入模块中的所有函数

  • 使用星号(*)运算符可让python导入模块中的所有函数
  • 由于导入了每个函数,可通过名称来调用每个函数,而无需使用句点表示法
  • 使用并非自己编写的大型模块时,最好不要采用这种导入方法:如果模块中有函数的名称与你的项目中使用的名称相同,可能导致意想不到的结果: Python 可能遇到多个名称相同的函数或变量,进而覆盖函数,而不是分别导入所有的函数。
from pizza import *
make_pizza(16, 'pepperoni')
make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')

Python 将函数存储在模块中的更多相关文章

  1. Python --函数学习3 (将函数存储在模块中)

    将函数存储在模块 函数可以将代码块和主程序分离,通过给函数指定描述性名称,可以让主程序更加容易理解,还可以更进一步,将函数存储在模块的独立文件中,再将模块导入到主程序.import 语句允许再当前运行 ...

  2. 函数的学习3——传递任意数量的实参&将函数存储在模块——参考Python编程从入门到实践

    传递任意数量的实参 形参前加一个 * ,Python会创建一个已形参为名的空元组,将所有收到的值都放到这个元组中: def make_pizza(*toppings): print("\nM ...

  3. python第二十课——math模块中常用的函数

    属性: e:自然数 pi:圆周率 函数: ceil():向上取整 floor():向下取整 sqrt():开平方根 radians():角度转弧度 degrees():弧度转角度 import mat ...

  4. Python之os.path路径模块中的操作方法总结

    #os.path模块主要集成了针对路径文件夹的操作功能,这里我们就来看一下Python中的os.path路径模块中的操作方法总结,需要的朋友可以参考下 解析路径路径解析依赖与os中定义的一些变量: o ...

  5. Python将函数放入模块

    函数可以将通用的代码封装起来,便于其他程序或者方法调用.将函数存放在文件中,这个文件被称为模块.将函数存储在独立的模块中,可与其他程序员共享这些文件而不是整个程序. fun.py def say_hi ...

  6. 【python】函数名存在变量中

    变量函数:意思就是将函数名存在变量中,然后根据变量值动态的调用需要的函数. LOGIN = 'xxxx' PASSWD = "xxx" URL = 'xxxxx' def hand ...

  7. python数据持久存储-pickle模块

    pickle模块实现了基本的数据序列和反序列化.pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,通过pickle模块的反序列化操作,能够从文件中创建上一次程序保存的对象. 接 ...

  8. python常用函数库及模块巧妙用法汇总

    在用python编写脚本或写程序过程中总要遇到一些对大文件或数据进行排序,计算,循环跌代等.我想下面这些函数库一定能用得到,总结如下:便于以后备查 列表去重(传说是列表去重最高效的方法): al = ...

  9. Python 查看函数属于哪个模块

    help(函数名)出现的信息里包含了所在模块

  10. python 函数3(模块)

    1.将函数存储在模块中 1.1.导入整个模块 要将函数导入,得先创建模块,模块 是扩展名为.py的文件,包含要导入到程序中的代码. 首先定义编写一个.py的文件,命名为pizza.py,代码如下: d ...

随机推荐

  1. 关于 用鼠标移动拖放 TabControl 标签 操作 实现 类

    1.相关说明已有 2.本类有可以改进的地方,如更进,希望交流 3.对多行标签的支持没做特别解决,效果不太好 4.初学者使用,即可通过其构造函数直接加载需要赋予此拖放功能的 TabControl 即可实 ...

  2. habse与Hadoop兼容性问题

    今天大数据实验课被血坑,在第一步hbase的安装时就卡住了,之后处理了一整节实验课,也未能解决,回到宿舍后才解决(这里不得不说"度娘"不行了,出现的问题完全找不到,最好还是在chr ...

  3. Python Type Hint中Optional[str]=None和str=None的区别

    Python Type Hint中Optional[str]=None和str=None的区别 1 问题来源 在读到Fluent Python, 2ed Edition, P260时产生了一些疑问: ...

  4. gitlab-ce安装

    # vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] name=Gitlab CE Repository baseurl=https://mirrors. ...

  5. reduce处理相同id合并对象内容为数组

    例: let arr = [     {         situationId: '666666666666666666666',         cloundClass: '999',     } ...

  6. Less-3 和 Less-4 ')闭合绕过

    判断注入类型 测试:http://localhost/sqli-labs-master/Less-3/index.php?id=1a 正常回显,可以判断为 字符型注入 闭合字符串执行而已 SQL语句 ...

  7. 2019徐州网络赛 M Longest subsequence 序列自动机

    题目链接https://nanti.jisuanke.com/t/41395 题意:给两个字符串,s和t,在s中求字典序严格大于t的最长子序列. 思路:分类讨论即可.先建个s的序列自动机. 1 如果有 ...

  8. 【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)

    问题描述 使用Azure Kubernetes服务(AKS),可以通过kubectl连接 pod 中查看日志,但是如何来查看节点的系统日志呢?如是否有ubuntu系统升级的记录? 问题解答 是的,可以 ...

  9. 使用sync.Once实现高效的单例模式

    1. 简介 本文介绍使用sync.Once来实现单例模式,包括单例模式的定义,以及使用sync.Once实现单例模式的示例,同时也比较了其他单例模式的实现.最后以一个开源框架中使用sync.Once实 ...

  10. Firefox、Edge下无法使用jQuery的css("margin")、css("padding”)和css("border")获取值

    今天遇到了浏览器的迷惑行为,在Edge上使用jQuery的css("margin")获取值,发现获取的是空值,换了Firefox也是如此.看了jquery官方原话,发现如下一段话R ...