函数的优点之一是,使用它们可将代码块与主程序分离。通过给函数指定函数名称,可让主程序容易理解的多。我们还可以更加细化,将函数存储在被称为模块的独立文件中,再将模块导入到主程序中。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. uniapp H5图片编辑器(安卓/iOS适用)

    箭头绘制参考了:https://blog.csdn.net/qq_45939676/article/details/127425426 这位大佬的文章 gitee地址: https://gitee.c ...

  2. 关于 IDP 的五大认知误解

    内部开发者平台(IDP)是近年来在希望加快软件交付和改善开发者体验的企业中得到普及的一个概念.然而,大众对于什么是 IDP 以及它能为开发者和企业带来什么也有很多困惑和误解.在这篇文章中,我们将尝试解 ...

  3. 深度学习之PyTorch实战(5)——对CrossEntropyLoss损失函数的理解与学习

    其实这个笔记起源于一个报错,报错内容也很简单,希望传入一个三维的tensor,但是得到了一个四维. RuntimeError: only batches of spatial targets supp ...

  4. Java设计模式 —— 单例模式

    6 单例模式 6.1 单例模式概述 Singleton Patter:确保一个类只有一个实例,并提供一个全局访问点来访问这个唯一实例. 单例模式有3个要点: 该类只能有一个实例 该类必须自行创建这个实 ...

  5. redhat6安装10g rac过程中的报错

    问题描述:redhat 6 来安装oracle10.2.0.1的集群,坑太多了,不建议这样安装,即使安装成功,在升级过程中也会有各种报错.redhat5安装还比较顺利,6就一路坑 1.缺少依赖 lib ...

  6. 【谷粒商城】(一)docker搭建以及项目的创建

    网络地址转换-端口转发 VmWare网络配置可以参考这篇:VMWare虚拟机网络连接设置_santirenpc的博客-CSDN博客_vmware 上网设置,真的是被折磨到了.. Docker 虚拟化容 ...

  7. 联系我们html代码

    Syntor by Aceto 11 Boleyn Court, Manor Park, Runcorn, Chesire WA7 1SR +44 (0) 1928 579865 + 44 (0) 1 ...

  8. VScode连接GPU服务器进行深度学习

    VScode连接GPU服务器进行深度学习 ​ 最近用台式机跑一些小的深度学习项目,发现越来越慢了,由于一些原因,有时候需要我进行现场作业但是我的笔记本是轻薄本(Thinkpad YYDS)不带显卡,百 ...

  9. 2.JAVA入门基础知识

    数据类型: java的数据类型分为两大类:基本类型和引用类型 基本类型: 整数类型: byte 一个字节 -128-127 short 2个字节 32768-32767 int 4个字节 很大 lon ...

  10. 笔记:C++学习之旅---指针

    笔记:C++学习之旅---指针 为什么要使用指针 因为在操作大型数据和类时,由于指针可以通过内存地址直接访问数据,从而避免在程序中赋值大量的代码,因此指针的效率最高,一般来说,指针会有三大用途: 1: ...