函数的优点之一是,使用它们可将代码块与主程序分离。通过给函数指定函数名称,可让主程序容易理解的多。我们还可以更加细化,将函数存储在被称为模块的独立文件中,再将模块导入到主程序中。import关键字作用就是将模块中的代码导入到当前主程序中。

通过将函数存储在独立的文件中,可隐藏程序代码细节,将重点放在程序的高层逻辑编写上。这还能在不同的程序中多次调用函数。将函数存储在独立文件中后,可与其他程序员共享这些文件而不是整个程序,所以知道如何导入函数还能使用其他程序员编写的函数库。

导入模块的方法有多种,我们接下来一一介绍

1.导入整个模块

1.1创建模块

要让函数是可导入的,得先创建模块。模块是扩展名为.py的文件,包含要导入到程序中的代码。下面我们来创建一个录入人员信息的模块,我们新建一个.py文件,并且将其命名为people.py。

  1. 新建文件。左键选中项目名称course,右击course出现一级菜单选择New,出现二级菜单选择Python File



    2.编写文件名people,点击回车



    3.我们发现在main.py文件下面出现了一个people.py。



    4.我们在文件中编写代码如下所示:

1.2导入模块并调用模块函数

模块创建好之后,我们导入模块,并且调用模块函数,此时我们准备在主程序main.py文件中导入people模块,并调用insert_people函数,

导入模块的语法格式:

import 模块名

调用函数的语法格式:

模块名.函数

编写程序如下所示:



通过输出结果发现,是符合我们的设想的,这里import关键字把people模块中的代码导入到主程序main中,我们再通过模块.函数的方式,也就是people.insert_people的方式将人员信息录入,录入结束返回录入结果,将录入结果添加到list_people这个人员列表中,然后我们再将list_people输出。

1.3导入特定的函数

有时模块中函数较多,但是我们只想使用其中的某几个函数,为了程序的高效运行,我们可以不用把整个模块导入,而是只导入模块中我们需要的函数即可,这里就会用到from关键字,作用就是让Python要导入哪个模块的函数

导入特定函数其语法格式:

from 模块名 import 函数

调用特定函数其语法格式:

函数

我们再编写一个,修改人员名称的函数,在people模块中编写如下程序:



我们在main函数中调用update_people函数,在main主程序中编写程序如下所示

1.4as关键字

as关键字是给模块或者函数起别名的,这样做一方面是为了让模块名或者函数名避免过长,另一方面是为了避免与主程序中现有的名称冲突,使用as可以指定一个简短而独一无二的别名。

1.4.1给模块指定别名

我们将名字为'王五'的人员信息删除,people模块编写程序如下所示:



在主函数main中调用,编写程序如下所示:

1.4.2给特定的函数指定别名

查询所有人的信息,people模块编写程序如下所示:



主程序main编写程序如下所示:



people模块的list_people函数,正好和主程序中的list_people变量重名,通过起别名的方式,可以实现正常运行,如果不起别名会引起错误。

1.5导入模块中的所有函数

使用*号运算符可让Python导入模块中的所有函数

其语法格式:

from 模块名 import *

由于导入了所有函数,可直接通过名称来调用每个函数,而无须使用模块.函数的方法。然而,使用并非自己编写的大型模块时,最好不要采用这种导入方法,因为如果模块中有函数名称和编写的项目中使用的名称相同,可能导致意想不到的效果,Python可能遇到多个名称相同的函数或变量,进而覆盖函数,而不是分别导入所有的函数。

最好的做法是,要么只导入需要使用的函数,要么导入整个模块并使用模块.函数的语法格式调用函数。

【python基础】函数-模块的更多相关文章

  1. python基础,函数,面向对象,模块练习

    ---恢复内容开始--- python基础,函数,面向对象,模块练习 1,简述python中基本数据类型中表示False的数据有哪些? #  [] {} () None 0 2,位和字节的关系? # ...

  2. python基础——使用模块

    python基础——使用模块 Python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用. 我们以内建的sys模块为例,编写一个hello的模块: #!/usr/bin/env ...

  3. 二十五. Python基础(25)--模块和包

    二十五. Python基础(25)--模块和包 ● 知识框架   ● 模块的属性__name__ # my_module.py   def fun1():     print("Hello& ...

  4. python 基础之 模块

    Python 基础之模块 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 就是一个python文件中定义好了类和方法,实现了一些功能,可以被别的python文 ...

  5. python基础——第三方模块

    python基础——第三方模块 在Python中,安装第三方模块,是通过包管理工具pip完成的.  如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了.  如果你正在使用Window ...

  6. python基础——函数的参数

    python基础——函数的参数 定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复 ...

  7. python基础—函数嵌套与闭包

    python基础-函数嵌套与闭包 1.名称空间与作用域 1 名称空间分为: 1 内置名称空间   内置在解释器中的名称 2 全局名称空间   顶头写的名称 3 局部名称空间 2 找一个名称的查找顺序: ...

  8. python基础—函数装饰器

    python基础-函数装饰器 1.什么是装饰器 装饰器本质上是一个python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能. 装饰器的返回值是也是一个函数对象. 装饰器经常用于有切 ...

  9. Python基础-函数参数

    Python基础-函数参数 写在前面 如非特别说明,下文均基于Python3 摘要 本文详细介绍了函数的各种形参类型,包括位置参数,默认参数值,关键字参数,任意参数列表,强制关键字参数:也介绍了调用函 ...

  10. 【Python之路】第六篇--Python基础之模块

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

随机推荐

  1. react中自定义函数、生命周期钩子函数、修改状态、组件、组件传值

    1.回顾 2.自定义函数 事件的首字母大小 onclick ==> onClick onchange ==> onChange 普通的点击事件 ---- 调用事件不加(),加了立即执行 i ...

  2. 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 1/3

    基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 1/3 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 2/3 基于Go/Grpc/ ...

  3. [CTF]picoCTF-day1

    Lets Warm Up If I told you a word started with 0x70 in hexadecimal, what would it start with in ASCI ...

  4. k8s加入新的master节点出现etcd检查失败

        背景:     昨天在建立好新的集群后,出现了新的问题,其中的一台master节点无法正常工作.虽然可以正常使用,但是就出现了单点故障,今天在修复时出现了etcd健康检查自检没通过.      ...

  5. 华为 A800-9000 服务器 离线安装MindX DL

    MindX DL(昇腾深度学习组件)是支持 Atlas 800 训练服务器.Atlas 800 推理服务器的深度学习组件参考设计,提供昇腾 AI 处理器资源管理和监控.昇腾 AI 处理器优化调度.分布 ...

  6. w11默认调用ie浏览器方法

    作为公司的一个it人员,最近发现w11不能不能调用ie,导致公司的系统不能正常使用,因为后台插件室默认调用ie,如果重新写插件太麻烦,所以百度了下,亲测可用,目前,公司电脑已经可以正常使用,具体方法如 ...

  7. [J2EE:中间件]LOG4J+Slf4J快速入门及日志最佳实践

    1 概述 1.1 常见的Java日志框架及选择 commons-logging和slf4j(slf4j-api.jar)都是日志类库的接口,供客户端使用,而没有提供实现! log4j,logback等 ...

  8. RxJava--create源码分析

    使用示例: Observable.create(new ObservableOnSubscribe<String>() { @Override public void subscribe( ...

  9. macOS下安装 n 管理包(node版本管理工具)

    1. 安装 n 管理包 终端命令全局安装 npm install -g n 安装成功后在终端输入 n --version 或 n 查看,可看到 n 的默认安装目录 下面就是使用 n 的方式了, 首先查 ...

  10. Python网页应用开发神器fac 0.2.6版本重要新功能一览

    fac项目地址:https://github.com/CNFeffery/feffery-antd-components ,欢迎star支持 大家好我是费老师,距离我的开源Python网页应用通用组件 ...