函数的优点之一是,使用它们可将代码块与主程序分离。通过给函数指定函数名称,可让主程序容易理解的多。我们还可以更加细化,将函数存储在被称为模块的独立文件中,再将模块导入到主程序中。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. [ACM]Uva839-Not So Mobile(树状天平)

    在输入过程中同时进行数据处理,代码简洁,效率较高 #include<iostream> #include<cstdio> using namespace std; bool s ...

  2. Linux服务器MySQL操作总结

    目录 1. Navicat连接服务器MySQL 2. 如何查看MySQL用户名和密码 3. 修改MySQL的登录密码 4. 安装MySQL开发包(Centos7版) 错误:error 1045 (28 ...

  3. go微服务框架kratos学习笔记二(kratos demo 结构)

    目录 api cmd configs dao di model server service 上篇文章go微服务框架kratos学习笔记一(kratos demo)跑了kratos demo 本章来看 ...

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

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

  5. [Excel/Word]常用函数与技巧

    1 Excel case1 同时多列筛选 同时筛选多列: 选中首行(属性行)>筛选>(筛选目标的N列) case2 IF/OR/AND/COUNTIF语句 =IF(condition,co ...

  6. .NET中使用Redis总结——2.项目实战

    接上篇.NET中使用Redis总结 -- 1.Redis搭建 看一些Redis相关资料,.NET 方面ServiceStack.Redis 用的比较多,就直接拿来用了. 在使用过程中经常过出现假死状态 ...

  7. Redis(八)redis新功能

    redis6新功能 1 ACL Redis ACL是AccessControlList(访问控制表)的缩写,该功能允许根据可以执行的命令和访问的键来限制某些连接. 2 基本命令 acl help &g ...

  8. 【深度学习】【图像分类网络】(二)VisionTransformer

    Transformer简介 ![1png](file:///D:/资料/学习笔记/深度学习/图像分类/transformer/Self-Attention以及Multi-Head Attention/ ...

  9. 开心档之MySQL 连接

    MySQL 连接 使用mysql二进制方式连接 您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库. 实例 以下是从命令行中连接mysql服务器的简单实例: [root@ ...

  10. MKL稀疏矩阵运算示例及函数封装

    Intel MKL库提供了大量优化程度高.效率快的稀疏矩阵算法,使用MKL库的将大型矩阵进行稀疏表示后,利用稀疏矩阵运算可大量节省计算时间和空间,但由于MKL中的原生API接口繁杂,因此将常用函数封装 ...